来自所有txt文件的第6行的sed,并且能够将所有结果输出到单个文件中

时间:2016-03-14 15:19:34

标签: 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 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

同时在中间有一个空行,同时删除最后一行“完成”

1 个答案:

答案 0 :(得分:0)

awk救援!

$ awk 'FNR==1{print FILENAME} FNR>1{print p} {p=$0}'

延迟打印,默认情况下跳过最后一行

从第n行向前,将FNR>1更改为FNR>n