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

abi*_*964 144 linux

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

在此输入图像描述

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

Don*_*ows 234

tail程序可以这样做:

ls -lart | tail -n +2
Run Code Online (Sandbox Code Playgroud)

-n +2装置"开始穿过上输出的第二行".

  • @Mat:有人需要它,有些人不会接受吗?啊! 呃呃唉!那太恶心了. (3认同)

Fre*_*ihl 164

管道到awk:

awk '{if(NR>1)print}'
Run Code Online (Sandbox Code Playgroud)

要么 sed

sed -n '1!p'
Run Code Online (Sandbox Code Playgroud)

  • 或者'awk'NR> 1' (14认同)
  • 也是'sed'1d' (14认同)
  • 谢谢它工作`ls -latr | awk'{if(NR> 1)print}'` (3认同)
  • sed将适用于大多数*nix系统 (2认同)

Jef*_*and 22

ls -lart | tail -n +2 #argument means starting with line 2
Run Code Online (Sandbox Code Playgroud)


wkl*_*wkl 20

这是一种快速的黑客方式:ls -lart | grep -v ^total.

基本上,删除所有以"total"开头的行,这些行在ls输出中应该只是第一行.

一种更通用的方式(适用于任何事情):

ls -lart | sed "1 d"

sed "1 d" 意味着只打印第一行的所有内容.

  • 使用`grep`来过滤这项任务一般是危险的; 它可以意外地匹配事物. (3认同)
  • 这只是语义,但从技术上讲,这意味着从流中删除第一行。 (2认同)

Yak*_*dry 5

您可以使用awk命令:

对于命令输出使用管道:| awk 'NR>1'

对于文件的输出:awk 'NR>1' file.csv