2

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

例子:

line1
line2
line3

选择第 2 行。

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

选择第二行:

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

3 回答 3

4
$ head -n filename | tail -1

其中“n”是您的行号。但它的效率有点低,启动了 2 个进程。

或者sed可以这样做。要打印第 4 行:

$ sed -n 4p filename

该论坛答案详细说明了 3 种不同的方法sed

# print line number 52
sed -n '52p' # method 1
sed '52!d' # method 2
sed '52q;d' # method 3, efficient on large files
于 2012-08-09T11:44:07.707 回答
1
head -4 a.txt | tail -1

要打印 a 中的第 4 行。文本文件。

于 2012-08-09T11:45:08.347 回答
1

使用gawk

gawk -v n=3 'n==NR { print; exit }' a.txt
于 2012-08-09T11:50:13.807 回答