使用正确的头部打印文件名
Print names of files with proper head
我想获取当前目录中的文件名,使文件的第一行等于myWord
。我想将 find . -type f
命令与 -exec
选项与 head -1 filename
结合使用,但无济于事。这个问题有一些巧妙的单线解决方案吗?
您可以将 find
与 awk
一起使用:
find . -maxdepth 1 -type f -exec awk '/myWord/{print FILENAME} {nextfile}' {} +
awk 命令将在每个文件的第一行搜索单词 myWord
然后打印该文件名。
或使用gnu sed
:
find . -type f -exec sed '/myWord/F;Q' {} \;
非常感谢@chepner 和@123 在这个答案下方提供的非常有用的评论。
我想获取当前目录中的文件名,使文件的第一行等于myWord
。我想将 find . -type f
命令与 -exec
选项与 head -1 filename
结合使用,但无济于事。这个问题有一些巧妙的单线解决方案吗?
您可以将 find
与 awk
一起使用:
find . -maxdepth 1 -type f -exec awk '/myWord/{print FILENAME} {nextfile}' {} +
awk 命令将在每个文件的第一行搜索单词 myWord
然后打印该文件名。
或使用gnu sed
:
find . -type f -exec sed '/myWord/F;Q' {} \;
非常感谢@chepner 和@123 在这个答案下方提供的非常有用的评论。