这个问题已经在这里有一个答案:
我的工作在基于ARM的处理器,我准备在它里面写入到一个文本文件中的一组命令输出的shell脚本。
我希望它究竟写10行一个命令的输出(例如top命令),但我不知道怎么了,你会帮我吗?
谢谢。
哪种操作系统,你在工作?如果你有awk
安装,你可以这样做:
command | awk 'NR<=10' > f.txt
command | head -n 10 > file.txt
如果你想要一个纯巴什解决方案:
n=0
command | while (( n++ != 10 )) && IFS= read -r line; do
printf '%s\n' "$line"
done
command | sed 1,10p > f.txt
sed
滤波器基于图案线和对它们执行的动作。在这种情况下,模式是筛选其数目为1和10之间的线,和动作只是为了“p'rint它们。