Linux 是否通过指定行号显示单行?

Linux 是否通过指定行号显示单行?,linux,bash,shell,awk,grep,Linux,Bash,Shell,Awk,Grep,我想显示文件的内容。我想要的方式是,当我指定行号时,它应该只显示该行。例如,名为“file”的文件中的内容如下: /home/john /home/mathew /home/alexander /home/testuser /home/hellouser 我希望通过给出行号一次显示一行,就像我指定3一样,它应该只显示后面的行 /home/alexander 我知道另一种方法是使用-n标志的head和tail,但它只显示整个行,直到我们指定的行号为止,如下所示 head -n3 FILE /h

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

/home/john
/home/mathew
/home/alexander
/home/testuser
/home/hellouser
我希望通过给出行号一次显示一行,就像我指定3一样,它应该只显示后面的行

/home/alexander
我知道另一种方法是使用-n标志的head和tail,但它只显示整个行,直到我们指定的行号为止,如下所示

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

我不想这样,我只想在选择行号3时显示“
/home/alexander
”。怎么可能呢?

使用
头部
尾部
可以执行以下操作:

head -3 FILE | tail -1

使用
head
tail
可以执行以下操作:

head -3 FILE | tail -1

您可以使用
awk

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

它将显示存储在变量
line
中的行号,您可以使用
awk

line=3
awk -v var="$line" 'NR==var' file
它将以其他方式显示存储在变量
行中的行号(第4行):

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


它起作用了,谢谢:)但是你能解释一下tail-1在这里做什么,它如何帮助head隐藏其余的两行吗?
tail
head
相反:它打印最后的
n
行--“给我前3行,然后是最后一行”你管
head
(文件的前三行)到
tail
,它只选择了最后一行(因为选项“-1”)它起作用了,谢谢:)但是你能解释一下tail-1在这里做什么,它如何帮助head隐藏剩下的两行吗?
tail
head
相反:它打印最后的
n
行--“给我前三行,然后是最后一行”您将
head
(文件的前三行)的输出传输到
tail
,后者只选择最后一行(因为选项“-1”)
grep -n ^ file | grep '^4:' | cut -d: -f2-