我有一個目錄,其中我有大量的文件名稱,如work1,work2,work3,work4 ... workn(其中n是任何數字)。我想只列出其中有work
爲前綴的文件後,只有1,2,3,4或5grep命令與或邏輯
例如:應該名單下跌work1
work2
work3
work4
work5
。所以我的邏輯是ls -al | grep work
,但它也會列出work6
,work7
等。如何繼續?
我有一個目錄,其中我有大量的文件名稱,如work1,work2,work3,work4 ... workn(其中n是任何數字)。我想只列出其中有work
爲前綴的文件後,只有1,2,3,4或5grep命令與或邏輯
例如:應該名單下跌work1
work2
work3
work4
work5
。所以我的邏輯是ls -al | grep work
,但它也會列出work6
,work7
等。如何繼續?
There is no need to parse the output of ls
。只是打電話ls
時使用範圍表達式:
ls -al work[1-5]
這將匹配名稱的模式匹配work[1-5]
的任何文件。也就是說,任何名稱爲work1
,...,work5
的文件。
嘗試正則表達式:
ls | grep -E 'work[1-5]'
是的,這也工作:) +1 –
除了文件名包含換行符。當代碼比在所有*情況下工作的代碼更復雜時,不要使用在*大多數情況下工作的代碼。 – chepner
任何理由downvote? – fedorqui
奇怪的dowonvote,我必須中和它 – anubhava
_「沒有必要解析ls的輸出。」_ < - 非常重要的+1。 – John1024