通过指定行号来显示单行?

时间:2015-03-28 19:14:18

标签: linux bash shell awk grep

我想显示文件的内容。我想要的方式是,当我指定一个行号时,它应该只显示该行。例如,名为" FILE"的文件中的内容。如下:

/home/john
/home/mathew
/home/alexander
/home/testuser
/home/hellouser

我想通过给出行号一次显示一行,如果我指定3,它应该只显示以下行。

/home/alexander

我知道使用-n标志的头部和尾部可以采用另一种方式,但是只显示我们指定的行号的整个行,如下所示。

head -n3 FILE
/home/john
/home/mathew
/home/alexander

我不想要,我只想展示" /home/alexander"只有当我选择第3行时才有可能吗?

3 个答案:

答案 0 :(得分:2)

使用headtail,您可以执行以下操作:

head -3 FILE | tail -1

答案 1 :(得分:2)

其他一些方式(第4行):

sed -n '4p' file

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

grep -n ^ file | grep '^4:' | cut -d: -f2-

答案 2 :(得分:1)

您可以使用awk

line=3
awk -v var="$line" 'NR==var' file

它将显示存储在变量line

中的行号