Grep

如何在 ls -a 的輸出中使用 grep

  • May 25, 2019

我想grep輸出ls並通過管道輸入,less這樣我就可以滾動輸出。

這不起作用,但理想情況下,我可以輸入:

ls -alh | grep "file" | less

任何建議如何做到這一點?我的總體目標是查看目前目錄中文件名中包含“文件”的所有文件的修改日期。我已經讀過stat,但這對於我的目的來說似乎太冗長了。

我假設stat“過於冗長”意味著該命令也會輸出許多其他資訊,如果您不從它請求特定的資訊位,預設情況下它會這樣做。

使用 GNU stat

stat --printf '%y\t%n\n' -- *file*

這將僅以人類可讀格式輸出修改時間戳,後跟選項卡和文件名。這將對包含 substring 的所有文件名進行file。用,設置dotglobshell 選項也允許包含隱藏文件名。bash``shopt -s dotglob

使用%Y代替%y來獲取自 Epoch 以來的修改時間戳(以秒為單位)。

在 BSD 系統上,使用

stat -f '%Sm%t%N' -- *file*

相反(做同樣的事情)。更改%Sm%Fm獲取自紀元以來的秒數。

有關詳細資訊,請參閱您系統上stat( )的手冊。man 1 stat

引用自:https://unix.stackexchange.com/questions/521073