2017-07-30 41 views
0

我正試圖解決以下問題,請原諒我,因爲我相對較新!在zshell中格式化grep輸出

我想讓它給出格式爲[0-9] [0-9] [0-9] [0-9] [0-9]的文件夾中的文件名列表[ 0-9] [0-9] [0-9] [0-9] \;

其中每個文件名是一個9位數字,我希望它給我一個可複製的列表,每個文件名後綴爲\;

我已經得到儘可能; 「0-30] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0 -9]「

但我不知道如何以我想要的方式將其格式化。

+0

'bash'!='zsh' – Cyrus

回答

0

grep -l 'PATTERN'給出了其內容中具有「PATTERN」的文件的名稱。 (grep -r通過進入子目錄進行遞歸搜索。)

如果您需要具有某種模式的文件名(而不是內容),或者以另一種方式存在,如果您需要過濾掉ls命令,下面會做。

ls -1 | grep '^[0-9]\{9\}$' 

但是如果你需要重新格式化濾波輸出(把一個分號結束),grep不能單獨處理這個問題。有幾種解決方案。以下是sed解決方案。

ls -1 | sed -n 's:^[0-9]\{9\}$:&;:p'