我如何对当前目录和子目录中的文件使用head命令?

时间:2010-12-11 10:55:26

标签: bash shell unix

如果我使用head *.txt | less,它会在当前目录中显示所有带* .txt的文件的头部?如果我希望显示驻留在当前目录和子目录中的.txt的所有文件的头部,该怎么办。

感谢您的帮助

4 个答案:

答案 0 :(得分:3)

您可以使用find:

find -name '*.txt' -exec head {} \;

答案 1 :(得分:1)

如果你的shell支持它(zsh不支持,那么你可以使用**语法:

head **/*.txt

答案 2 :(得分:0)

另一种选择是使用 -

find -name '*.txt' | xargs head

请注意,-name不能在所有环境中使用 在这种情况下,您可以使用

find . | grep ".txt" | xargs head

答案 3 :(得分:0)

我试图做同样的事情;这对我有用(我将响应输出到headtest.txt文件)。请注意,这将在当前目录和子目录中移动。

find . -type f -exec head '{}' \; >> headtest.txt

希望这会有所帮助。