squ*_*der 4 find shell-script text-processing
我想打印出每个.txt超过 100 字节的文件的第一行。到目前为止,我已经设法收集符合条件的文件,但我不知道如何打印文件的第一行文本。
find -size +100c -name "*.txt"
Run Code Online (Sandbox Code Playgroud)
或者我完全走错了路?
您需要head -n 1在每个文件上运行:
find . -size +100c -name \'*.txt\' -execdir head -n 1 {} \\;\nRun Code Online (Sandbox Code Playgroud)\n或者,如果您find不\xe2\x80\x99t 支持-execdir,
find . -size +100c -name \'*.txt\' -exec head -n 1 {} \\;\nRun Code Online (Sandbox Code Playgroud)\n如果您的head版本支持-q,或者您不关心在一次调用中处理多个文件时为每个文件显示的标头,则可以使用以下命令使这两种变体稍微更有效
\xe2\x80\xa6 -exec head -q -n 1 {} +\nRun Code Online (Sandbox Code Playgroud)\n(请参阅竞争条件以-exec了解 的好处-execdir。)