是否有一个 shell 命令来选择字符串的第 n 行?
例子:
line1
line2
line3
选择第 2 行。
更新:到目前为止谢谢。在您的帮助下,我想出了一个字符串的解决方案:
选择第二行:
echo -e "1\n2\n3" | head -2 | tail -1
是否有一个 shell 命令来选择字符串的第 n 行?
例子:
line1
line2
line3
选择第 2 行。
更新:到目前为止谢谢。在您的帮助下,我想出了一个字符串的解决方案:
选择第二行:
echo -e "1\n2\n3" | head -2 | tail -1
$ 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
head -4 a.txt | tail -1
要打印 a 中的第 4 行。文本文件。
使用gawk
:
gawk -v n=3 'n==NR { print; exit }' a.txt