小编use*_*046的帖子

如何打印当前行下一行的第一列?

我有一些这样的文件:

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。

awk text-processing

8
推荐指数
3
解决办法
5807
查看次数

如何使用 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)

awk text-processing

6
推荐指数
1
解决办法
2247
查看次数

标签 统计

awk ×2

text-processing ×2