Unix 从第6行开始从所有txt文件执行Sed,并能够在单个文件中输出所有结果

Unix 从第6行开始从所有txt文件执行Sed,并能够在单个文件中输出所有结果,unix,awk,sed,grep,Unix,Awk,Sed,Grep,我将使用awk 要执行以下操作: 我需要从第6行的所有*.txt文件中删除所有结果,直到结束。所有结果都应包含在一个新的文件中,并在结果之前包含每个文件的名称 示例:如果有不同的txt文件,则结果应该是从第3行到最后的一个单独的文本 file 1 3 4 5 file 2 3 4 5 file 3 3 4 5 向我建议的功能 awk 'FNR == 1 {print FILENAME}; FNR>=6' ./*.txt > output 我的文件看起来像以下原始文件: file

我将使用awk 要执行以下操作: 我需要从第6行的所有*.txt文件中删除所有结果,直到结束。所有结果都应包含在一个新的文件中,并在结果之前包含每个文件的名称

示例:如果有不同的txt文件,则结果应该是从第3行到最后的一个单独的文本

file 1
3
4
5
file 2
3
4
5
file 3
3
4
5
向我建议的功能

awk 'FNR == 1 {print FILENAME}; FNR>=6' ./*.txt > output
我的文件看起来像以下原始文件:

file 1
1 
2
3
4
5
Done

file 2
1 
2
3
4
5
Done
需要文件

file 1
2
3
4
5

file 2
2
3
4
5
6

在中间有一条空行,在删除“完成”的最后一行时,将awk

$ awk 'FNR==1{print FILENAME} FNR>1{print p} {p=$0}'
延迟打印,默认情况下跳过最后一行

从第n行开始,将
FNR>1更改为
FNR>n