除 X 最后/第一行之外的所有行尾/首行

net*_*ork 14 ssh centos bash tail head

例如我有这个文件:

cat myfile
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

我想打印除前 2 行以外的所有行。输出应该是这样的:

tail -n $(( $(wc -l myfile | awk '{print $1}') - 2 )) myfile
3
4
5
Run Code Online (Sandbox Code Playgroud)

是的,输出是正确的。但是有一个问题,我们在这个示例文件中有 5 行,对吗?如果我在这个命令输出中使用超过 5 个应该是空的,但它不是!!!

tail -n $(( $(wc -l myfile | awk '{print $1}') - NUMBER )) myfile

这个输出应该是空的,但它不是

tail -n $(( $(wc -l myfile | awk '{print $1}') - 8 )) myfile

1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

myfile 可以包含 X 行...感谢您的帮助

cho*_*oba 26

tail -n+3 从第三行开始输出最后一行。