是否有一个shell命令来选择第n行?

时间:2012-08-09 11:42:24

标签: shell

是否有shell命令来选择字符串的第n行?

示例:

line1
line2
line3

选择第2行。

更新:到目前为止,谢谢。在你的帮助下,我想出了一个字符串的解决方案:

选择第二行:

echo -e "1\n2\n3" | head -2 | tail -1

3 个答案:

答案 0 :(得分:4)

$ head -n filename | tail -1

其中'n'是您的行号。但是效率有点低,启动了两个流程。

或者sed可以做到这一点。打印第4行:

$ sed -n 4p filename

This forum answer详细介绍了sed

的3种不同方法
# print line number 52
sed -n '52p' # method 1
sed '52!d' # method 2
sed '52q;d' # method 3, efficient on large files

答案 1 :(得分:1)

head -4 a.txt | tail -1

打印第4行。文本。

答案 2 :(得分:1)

使用gawk

gawk -v n=3 'n==NR { print; exit }' a.txt