Luc*_*ain 2 linux bash command-line
问题:如何获得名称中包含多行的所有名为“ interesting-file.txt”的文件?
背景调查:
find . -name "interesting-file.txt"wc -l来获取他们的行号。awk '$1 > 1'多行查找那些文件。但是我在将所有内容组合在一起时遇到了问题。
我尝试了几种
find . -name "interesting-file.txt" | awk '{print wc -l $0}'
Run Code Online (Sandbox Code Playgroud)
没有成功。除了寻找相关命令之外,我还没有开始“大于一个”。
我在OSX上,使用标准终端。
谢谢你的帮助!
我会去这样的事情:
find . -name "interesting-file.txt" -exec awk 'END { if (NR > 1) print FILENAME }' {} \;
Run Code Online (Sandbox Code Playgroud)
找到的所有文件都传递给awk,如果行数NR大于1 ,则awk将打印名称。
使用GNU awk,您可以利用该ENDFILE块,并用于{} +最大程度地减少awk的调用次数:
find . -name "interesting-file.txt" -exec awk 'ENDFILE { if (FNR > 1) print FILENAME }' {} +
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1326 次 |
| 最近记录: |