![find後如何取得文件的時間資訊 | grep 關鍵字指令?](https://rvso.com/image/1417111/find%E5%BE%8C%E5%A6%82%E4%BD%95%E5%8F%96%E5%BE%97%E6%96%87%E4%BB%B6%E7%9A%84%E6%99%82%E9%96%93%E8%B3%87%E8%A8%8A%20%7C%20grep%20%E9%97%9C%E9%8D%B5%E5%AD%97%E6%8C%87%E4%BB%A4%EF%BC%9F.png)
現在我知道如何使用 find | grep 關鍵字來取得我想要的檔案。
但在那之後,我應該如何知道我找到的每個檔案的大小、create_time 資訊?
例如,在尋找 | 之後grep 教程,我得到了這個:
./lab/zengjuchen/tutorial
./lab/zengjuchen/tutorial/tutorial
我該如何查看它們的創建時間和大小?
答案1
你一開始就錯誤地使用了find
and grep
。find
完全能夠過濾文件。您不需要grep
它——事實上,不建議像這樣對檔案名稱進行改組。
改為這樣做:
find -name '*tutorial*' -exec <some-command> {} \;
在這裡,<some-command>
將對找到的每個文件運行,其名稱將被替換{}
.例如,要取得檔案大小:
find -name '*tutorial*' -exec du {} \;
如果給定的命令支援傳遞多個文件參數,則使用\+
代替\;
將立即對所有文件執行該命令。find
這將加快這一過程。
或者你甚至可以使用 Bash 來完成:
shopt -s globstar
du **/*tutorial*
這裡,**
遞歸遍歷所有目錄。
至於創建時間:傳統上,這是不儲存的。您只會獲得最後一次存取、修改和狀態變更時間。看更多關於stat
。諸如此類的檔案系統確實ext4
將創建時間儲存為「出生時間」。所以,stat -c %w
會為那些工作。閱讀有關此問題的更多信息這裡。