Unix 跳过文件行,直到找到匹配项,然后输出其余的

Unix 跳过文件行,直到找到匹配项,然后输出其余的,unix,text-processing,Unix,Text Processing,我可以编写一个简单的脚本来实现这一点,但在我不断寻求更熟悉unix的过程中,我想学习使用内置命令的有效方法 我需要处理具有可变页眉行数的非常大的文件。最后一行标题由文本“LastHeaderLine”组成。我希望在这一行之后输出所有内容。(我不担心假阳性匹配。)使用sed: sed -ne '/LastHeaderLine/,$p' <inputfile sed-ne'/LastHeaderLine/,$p'为什么不试试awk呢?它看起来是这样的: awk 'NR == 1, /Last

我可以编写一个简单的脚本来实现这一点,但在我不断寻求更熟悉unix的过程中,我想学习使用内置命令的有效方法

我需要处理具有可变页眉行数的非常大的文件。最后一行标题由文本“LastHeaderLine”组成。我希望在这一行之后输出所有内容。(我不担心假阳性匹配。)

使用sed:

sed -ne '/LastHeaderLine/,$p' <inputfile

sed-ne'/LastHeaderLine/,$p'为什么不试试awk呢?它看起来是这样的:

awk 'NR == 1, /LastHeaderLine/ { next } { print }' myinputfile > myoutputfile
其中第一行的NR==1为真,/LastHeaderLine/与您的最后一行标题匹配。逗号运算符允许以下函数{next}为两个正则表达式范围内的所有句子激发。在这种情况下,它将跳到下一行输入,无需进一步操作。对于所有其他输入行,它会将这些行打印到标准输出,您可以使用>

重定向标准输出,类似于的答案,但不包括带有“LastHeaderLine”的行


那比我的干净多了:-)
awk 'NR == 1, /LastHeaderLine/ { next } { print }' myinputfile > myoutputfile
sed -e '1,/LastHeaderLine/d'