有没有一种“规范”的方式来做到这一点?我一直在使用head -n | tail -1
这确实有用,但我一直想知道是否有一个 Bash 工具专门从文件中提取一行(或一系列行)。
我所说的“规范”是指一个主要功能就是这样做的程序。
head
和管道与tail
对于大文件来说会很慢。我会建议sed
像这样:
sed 'NUMq;d' file
Where NUM
是您要打印的行号;所以,例如,sed '10q;d' file
打印第 10 行file
.
解释:
NUMq
当行号为时将立即退出NUM
.
d
将删除该行而不是打印它;这在最后一行被禁止,因为q
导致退出时跳过脚本的其余部分。
如果你有NUM
在变量中,您需要使用双引号而不是单引号:
sed "${NUM}q;d" file
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)