2015-11-28 153 views
-1

我必須找到所有文件(在~/),這些文件未超過14天,並顯示文件內容,以*.txt結尾。我試圖做這樣的事情:如何在一個命令中查找和顯示文件?

find ~/ -mtime +14 | cat '*.txt' 

|之前忽略的一切。你可以幫我嗎?

+2

重複的https://stackoverflow.com/questions/33971441/unix-system-comand – Biffen

回答

0

如果只想*.txt文件與-name的find過濾它,貓這些文件只需添加-exec

find ~/ -mtime +14 -name "*.txt" -exec cat {} \; 
+0

非常感謝:) – Honzik

1

在你行

find ~/ -mtime +14 | cat '.txt' 

find將打印的文件名,它們被傳送到catstdin,在那裏它們被忽略,並且cat將打印文件.txt的內容,該文件可能不包括exi ST。

那麼,試試這個:

find ~/ -mtime +14 -exec cat {} \; 

其中-exec .... \;執行....命令,{}find發現的文件名代替。

或者你可以使用xargs

find ~/ -mtime +14 -print0 | xargs -0 cat 

-print0參數find將打印的文件名後面加上一個空字符,而-0參數xargs告訴它輸入由空字符隔開,以便在其中包含空格的文件名不會有任何問題。

+0

@Biffen確實 - 更新了答案。謝謝! – Kenney

+0

這個答案很好,但它缺少'.txt'位。 – Biffen

相關問題