gpt4 book ai didi

awk - 从字段中删除特定单词

转载 作者:行者123 更新时间:2023-12-04 08:38:34 25 4
gpt4 key购买 nike

我有文件,其中包含一些数据,如下所示

cell   input   out   type   fun
AI20 A1,A2 Z comb 0 ,((A1,A2))
因此,当 fun 列中的开头为 0 时,我想删除该 0 ,所以我的输出为
cell   input   out   type   fun
AI20 A1,A2 Z comb ((A1,A2))
我试过代码
awk '$5~/^0/ {sub(/0 ,/,"",$5)} 1' file 
但这没有用。

最佳答案

使用显示的示例,您可以尝试以下操作。

awk '
match($0,/0 ,\(\(/){
val=substr($0,RSTART,RLENGTH)
sub(/.*,/,"",val)
print substr($0,1,RSTART-1) val substr($0,RSTART+RLENGTH)
val=""
next
}
1
' Input_file
说明:为上述添加详细说明。
awk '                               ##Starting awk program from here.
match($0,/0 ,\(\(/){ ##Using match function to match 0 space (( in line.
val=substr($0,RSTART,RLENGTH) ##creating val which has sub string of matched regex.
sub(/.*,/,"",val) ##Substituting everything till comma with NULL in val.
print substr($0,1,RSTART-1) val substr($0,RSTART+RLENGTH) ##Printing sub string val and rest of line sub string here.
val="" ##Nullifying val here.
next ##next will skip all statements from here.
}
1 ##will print the current line here.
' Input_file ##Mentioning Input_file name here.

关于awk - 从字段中删除特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64677284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com