Alb*_*lby 4 regex unix perl awk sed
我需要有关如何按照文件方式更改文件格式的建议:
A 504688
B jobnameA
A 504690
B jobnameB
A 504691
B jobnameC
...
Run Code Online (Sandbox Code Playgroud)
到file2:
A B
504688 jobnameA
504690 jobnameB
504691 jobnameC
...
Run Code Online (Sandbox Code Playgroud)
我能想到的一个解决方案是:
cat file1 | perl -0777 -p -e 's/\s+B/\t/' | awk '{print $2"\t"$3}'.
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更有效的方法或已知的做法来完成这项工作.
perl -nawe 'print "@F[1 .. $#F]", $F[0] eq "A" ? "\t" : "\n"' < /tmp/ab
Run Code Online (Sandbox Code Playgroud)
查找选项perlrun
.
另一个有用的添加是-l
(追加打印的换行符),但不是在这种情况下.