我的文档具有不同的行大小:
TITLE
NAME VALUE foo bar foo bar foo bar foo bar foo bar foo bar
NAME VALUE foo2 bar2 foo2 bar2
NAME VALUE foo3 bar3
我想删除标题和删除两个firsts字段,然后打印换行符每两个字段如下:
foo bar
foo bar
foo bar
foo bar
foo bar
foo2 bar2
foo2 bar2
foo3 bar3
我的输出实际上是:
foo bar foo bar foo bar foo bar foo bar foo bar
foo2 bar2 foo2 bar2
foo3 bar3
使用此代码:
awk -F' ' 'NR>1, NF>2 {
s = ""; for(i = 3; i <= NF; i++) s = s $i " "; print s
}' file_input.txt > file_output.txt
我没有找到解决办法。如果有人能帮助我。第一次对堆栈溢出!谢谢
3条答案
按热度按时间vsmadaxz1#
我建议:
输出:
参见:8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR
gz5pxeao2#
sed
替代方案,与awk
相比,可读性不佳。2skhul333#
另一个选项是使用
gnu awk
和FPAT,FPAT具有匹配2个字段的模式,这2个字段由1个或多个空白字符分隔。由于标题是单个字段:
产出
或者从第二行开始: