我有一些这样的文件:
abc 123
abc 789
bcd 456
acb 135
Run Code Online (Sandbox Code Playgroud)
我想打印当前行下一行的第一列。
期望的输出:
abc 123 abc
abc 789 bcd
bcd 456 acb
acb 135
Run Code Online (Sandbox Code Playgroud)
我更喜欢使用awk。
我有一个输入文件:
A 123 name: 1 AAA
B 123 name: 2 AAA name: 3 BBB
C 234 name: 1 AAA name: 2 BBB name: 5 CCC
Run Code Online (Sandbox Code Playgroud)
如果列是“名称:”,我想打印下一列和下一列。
这是我的 awk 代码:
cat input.txt | awk '{for(i=1;i<=NF;i++)if($i == "name:")print $(i+1),$(i+2)}'
Run Code Online (Sandbox Code Playgroud)
但是,在这种情况下,所有列都列在如下一行中:
1 AAA
2 AAA
3 BBB
1 AAA
2 BBB
5 CCC
Run Code Online (Sandbox Code Playgroud)
我希望列像这样打印:
1 AAA
2 AAA 3 BBB
1 AAA 2 BBB 5 CCC
Run Code Online (Sandbox Code Playgroud)