Yim*_*ong 5 sed awk text-processing
给定这样的输入:
x y a b c t
p q w w t
a b c d
p q r
Run Code Online (Sandbox Code Playgroud)
我想将字段 3 中的字段连接到但不包括最后一个字段。如果字段 3 是最后一个字段,我想插入一个占位符。因此,鉴于上面的输入,这是首选输出:
x y a_b_c t
p q w_w t
a b c d
p q _ r
Run Code Online (Sandbox Code Playgroud)
最终结果是所有行都将有四个字段。这在 awk 或 cut 或 sed 等中可能吗?
awk '{
s = m = ""
for (i = 3; i < NF; i++) {m = m s $i; s = "_"}
if (m == "") m = "_"
print $1, $2, m, $NF}'
Run Code Online (Sandbox Code Playgroud)