我有一个带有制表符分隔字段(或列)的文件,如下所示:
cat abc_table.txt
a b c
1 11;qqw 213
2 22 222
3 333;rs2 83838
Run Code Online (Sandbox Code Playgroud)
我想删除“;”之后的所有内容 仅在第二个字段上。
我试过
awk 'BEGIN{FS=OFS="\t"} NR>=1 && sub (/;[*]/,"",$2){print $0}' abc_table.txt
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用。我也尝试过 sed:
's/;.*//g' abc_table.txt
Run Code Online (Sandbox Code Playgroud)
但它也会删除第三个字段中的字符串:
a b c
1 11
2 22 222
3 333
Run Code Online (Sandbox Code Playgroud)
所需的输出是:
a b c
1 11 213
2 22 222
3 333 83838
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮助我,我将不胜感激!