我想获取当前目录中文件的名称,使文件的第一行等于myWord
。我想将find . -type f
命令与-exec
选项与head -1 filename
结合使用,但无济于事。这个问题是否有一些聪明的单线解决方案?
答案 0 :(得分:2)
您可以将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在这个答案下面提供的非常有用的评论。