从bash上的标准输出中删除n行

从bash上的标准输出中删除n行,bash,sed,tail,unix-head,Bash,Sed,Tail,Unix Head,您是否有从标准输出中删除N行的bash解决方案 像“head”命令一样,只打印最后一行以外的所有行 bash上的简单孤独: 查找/测试目录/| sed'$d'| sed'$d'| sed'$d'| 但我需要复制sed命令N次 有更好的解决办法吗? 除了awk、python等 使用带有负数的head。在我的示例中,它将打印除最后3行以外的所有行: head -n -3 infile 使用带有负数的head。在我的示例中,它将打印除最后3行以外的所有行: head -n -3 infile 如果

您是否有从标准输出中删除N行的bash解决方案

像“head”命令一样,只打印最后一行以外的所有行

bash上的简单孤独:

查找/测试目录/| sed'$d'| sed'$d'| sed'$d'|

但我需要复制sed命令N次

有更好的解决办法吗?
除了awk、python等

使用带有负数的
head
。在我的示例中,它将打印除最后3行以外的所有行:

head -n -3 infile

使用带有负数的
head
。在我的示例中,它将打印除最后3行以外的所有行:

head -n -3 infile

如果head-n-3文件名在您的系统(如我的系统)上不起作用,您也可以尝试以下方法(可以将其别名或在.bashrc中创建一个函数)


其中filename和上面的3分别是您的文件和行数。

如果head-n-3 filename在您的系统(如我的系统)上不起作用,您也可以尝试以下方法(可以将其别名或在.bashrc中创建函数)


其中filename和3分别是您的文件和行数。

在Mac OS/BSD上,
tail
命令可以从文件末尾跳过
tail
接受
+/-
前缀,这有助于下面的表达式,它将从开头显示3行

tail -n +3 filename.ext
或者,要跳过文件末尾的行,请使用前缀
-

tail-n-3 filenme.ext

通常,
tail
的默认值是
-
前缀,因此从文件末尾开始计数。请参见对不同问题的类似回答:

在Mac OS/BSD上,
tail
命令可以从文件末尾跳过
tail
接受
+/-
前缀,这有助于下面的表达式,它将从开头显示3行

tail -n +3 filename.ext
或者,要跳过文件末尾的行,请使用前缀
-

tail-n-3 filenme.ext

通常,
tail
的默认值是
-
前缀,因此从文件末尾开始计数。请参见对不同问题的类似回答:

该链接的可能重复项用于跳过前X行,而不是最后X行。该链接的可能重复项用于跳过前X行,不是最后的X行。
$head-n-3somefile.ext
在OSX/BSD常规命令手册上抛出错误
head:invally line count---3
$head-n-3somefile.ext
在OSX/BSD常规命令手册上抛出错误
head:invally line count---3