如何提取文件第7行中的文本

时间:2013-06-25 12:07:27

标签: shell text line extract

如何使用shell脚本提取文件第7行中的文本 例如,我有类似的东西,

abc
def
ghi
jkl
mno
pqr
stu

我需要打印文字stu

可以总结一下这方面的帮助。请...

2 个答案:

答案 0 :(得分:3)

您可以使用awk

进行制作
awk 'NR==7' file

因为NR是指行数。

同样在sed

sed -n '7p' file

更新甚至更好(thanks pixelbeat

sed -n '7{p;q}' file

测试看第二个选项有多好:

让我们用1,000,000行填充文件:

$ for i in {1..1000000}; do echo $i>>a; done

现在让我们比较每个sed使用的时间:

$ time sed -n '3p' a
3

real    0m0.098s
user    0m0.084s
sys     0m0.008s
$ time sed -n '3{p;q}' a
3

real    0m0.012s
user    0m0.000s
sys     0m0.008s

快8倍!

$ echo "0.098 / 0.012" | bc
8

答案 1 :(得分:0)

除了awk之外,还有许多其他实用程序可以用来执行此操作。以下是其他一些内容:

headtail

head -n 7 file | tail -n 1

perl

perl -ne 'print if $.==7' file

ruby实际上与perl

相同
ruby -ne 'print if $.==7' file

可能有一个更短的方式,这里是python:

python -c "import sys; x=[l for l in sys.stdin]; sys.stdout.write(x[6])" < x