Nic*_*ick 6 unix linux scripting awk
有没有办法打印文件的前N个单词?我试过切,但它逐行读取文件.我想出的唯一解决方案是:
sed ':a;N;$!ba;s/\n/?/g' file | cut -d " " -f -20 | sed 's/?/\n/g'
Run Code Online (Sandbox Code Playgroud)
基本上,用文件中不存在的字符替换换行符,将空格作为分隔符应用"cut",然后恢复换行符.
有没有更好的解决方案?
为什么不尝试将你的单词变成行,然后直接使用呢head -n 20?
例如:
for i in `cat somefile`; do echo $i; done | head -n 20
Run Code Online (Sandbox Code Playgroud)
它并不优雅,但它的正则表达式的行噪声确实少得多。