Grep
如何在 ls -a 的輸出中使用 grep
我想
grep
輸出ls
並通過管道輸入,less
這樣我就可以滾動輸出。這不起作用,但理想情況下,我可以輸入:
ls -alh | grep "file" | less
任何建議如何做到這一點?我的總體目標是查看目前目錄中文件名中包含“文件”的所有文件的修改日期。我已經讀過
stat
,但這對於我的目的來說似乎太冗長了。
我假設
stat
“過於冗長”意味著該命令也會輸出許多其他資訊,如果您不從它請求特定的資訊位,預設情況下它會這樣做。使用 GNU
stat
:stat --printf '%y\t%n\n' -- *file*
這將僅以人類可讀格式輸出修改時間戳,後跟選項卡和文件名。這將對包含 substring 的所有文件名進行
file
。用,設置dotglob
shell 選項也允許包含隱藏文件名。bash``shopt -s dotglob
使用
%Y
代替%y
來獲取自 Epoch 以來的修改時間戳(以秒為單位)。在 BSD 系統上,使用
stat -f '%Sm%t%N' -- *file*
相反(做同樣的事情)。更改
%Sm
以%Fm
獲取自紀元以來的秒數。有關詳細資訊,請參閱您系統上
stat
( )的手冊。man 1 stat