我有一个如下所示的管道分隔文件,其中双引号在字段中不平衡,我需要对其进行修复
name |age|role |experience|
John |25 |Developer |2.56 |
Scot"x|30 |Tester |5.2 |
Jim |28 |DBA |3.0 |
Mike" |35 |"Consultant"|10.0 |
Daniel|26 |Developer |3.2 |
Paul" |29 |Tester " |3.6 |
Peter |30 |Developer |6.5 |
必填输出:
name |age|role |experience|
John |25 |Developer |2.56 |
Scot x|30 |Tester |5.2 |
Jim |28 |DBA |3.0 |
Mike |35 |"Consultant"|10.0 |
Daniel|26 |Developer |3.2 |
Paul |29 |Tester |3.6 |
Peter |30 |Developer |6.5 |
我在下面的命令中尝试过,但是没有给出预期的结果。。
perl -ne ' { while(/\x22/g) {$c++} ; if($c%2!=0) { s/\x22//g ; print} else { print } ; $c=0 } ' file
[请您试一下。考虑到您只需要编辑其值的开头"
和结尾"
的字段。
awk 'BEGIN{FS=OFS="|"} {for(i=1;i<=NF;i++){if($i!~/^\".*\"$/){gsub(/\"/,"",$i)}}} 1' Input_file