如果我使用head *.txt | less
,它會在當前目錄中顯示帶* .txt的所有文件的頭部?如果我想顯示位於當前目錄和子目錄中的.txt文件的頭部,該怎麼辦?如何在當前目錄和子目錄中對文件使用head命令?
感謝您的幫助
如果我使用head *.txt | less
,它會在當前目錄中顯示帶* .txt的所有文件的頭部?如果我想顯示位於當前目錄和子目錄中的.txt文件的頭部,該怎麼辦?如何在當前目錄和子目錄中對文件使用head命令?
感謝您的幫助
您可以使用發現:
find -name '*.txt' -exec head {} \;
另一種選擇是使用 -
find -name '*.txt' | xargs head
請注意,-name不需要在所有環境 工作這種情況下,您可以使用
find . | grep ".txt" | xargs head
如果你的外殼支持的話(zsh的呢,不知道剩下的),你可以使用**
語法:
head **/*.txt
這也支持Bash 4與'shopt -s globstar'或'ksh'與'set -o globstar'。 – 2010-12-11 15:13:14
我試圖做同樣的事情;這裏是我的工作(我輸出的文件headtest.txt響應)。請注意,這將通過當前目錄和子目錄。
find . -type f -exec head '{}' \; >> headtest.txt
希望這會有所幫助。
我從來沒有聽說過'-name'不工作,但'find'用你的第二種形式(至少在舊版本中)抱怨失蹤參數並不罕見。 – 2010-12-11 15:10:58