从任何Linux命令输出中省略第一行

plicqrtu  于 2023-04-20  发布在  Linux
关注(0)|答案(5)|浏览(496)

我有一个要求,我想从ls -latr "some path"的输出中省略第一行,因为我需要从下面的输出中删除total 136

所以我写了ls -latr /home/kjatin1/DT_901_linux//autoInclude/system | tail -q,它排除了第一行,但是当文件夹为空时,它不会省略它。请告诉我如何在任何linux命令输出中省略第一行

c3frrgcw

c3frrgcw1#

tail程序可以做到这一点:

ls -lart | tail -n +2

-n +2表示“开始通过第二行输出”。

k4aesqcs

k4aesqcs2#

将其通过管道传输到awk

awk '{if(NR>1)print}'

sed

sed -n '1!p'
rnmwe5a2

rnmwe5a23#

ls -lart | tail -n +2 #argument means starting with line 2
9rnv2umw

9rnv2umw4#

这是一个快速的Hacky方法:ls -lart | grep -v ^total .
基本上,删除所有以“total”开头的行,在ls输出中,这应该只是第一行。
一个更一般的方法(对于任何事情):
ls -lart | sed "1 d"
sed "1 d"表示只打印第一行以外的所有内容。

1l5u6lss

1l5u6lss5#

你可以使用awk命令:
对于命令输出,请使用管道:| awk 'NR>1'
对于文件输出:awk 'NR>1' file.csv

相关问题