2016-08-12 101 views
2

我有一個目錄,其中我有大量的文件名稱,如work1,work2,work3,work4 ... workn(其中n是任何數字)。我想只列出其中有work爲前綴的文件後,只有1,2,3,4或5grep命令與或邏輯

例如:應該名單下跌work1work2work3work4work5。所以我的邏輯是ls -al | grep work,但它也會列出work6,work7等。如何繼續?

回答

7

There is no need to parse the output of ls。只是打電話ls時使用範圍表達式:

ls -al work[1-5] 

這將匹配名稱的模式匹配work[1-5]的任何文件。也就是說,任何名稱爲work1,...,work5的文件。

+3

任何理由downvote? – fedorqui

+1

奇怪的dowonvote,我必須中和它 – anubhava

+0

_「沒有必要解析ls的輸出。」_ < - 非常重要的+1。 – John1024

0

嘗試正則表達式:

ls | grep -E 'work[1-5]' 
+0

是的,這也工作:) +1 –

+1

除了文件名包含換行符。當代碼比在所有*情況下工作的代碼更復雜時,不要使用在*大多數情況下工作的代碼。 – chepner