我正在使用以下命令比较两个文件,其中第 3 列具有 abc.txt 和另一个 +abc.txt。它通过忽略加号 (+) 给我正确的输出。
我如何在我的代码中添加多个符号,以便它也忽略加号 (+) 符号以及感叹号 (!) 符号。
第三列可能有
+abc.txt
!abc.txt --> So It have to ignore + and ! symbol while comparing with abc.txt
FNR==0 {next}
NR==FNR {a[$1]=$0; next} {k=$3; sub(/^\+/,"",k)} k in a {split(a[k], b)
print $1,$2,b[2],$3,b[3],b[4],b[5],$4,$5,$6,$7; delete a[k] }
END {for(k in a) print a[k] > "Compare_unmatched.txt"}
踪迹:
{k=$3; sub(/^+/,"",k);sub(/^!/,"",k)} - 使用了这一行,但没有给我正确的结果。
你能给我建议解决方法吗?谢谢!
最佳答案
尝试 sub("^[+!]", "", k)
。不确定代码的其余部分。
关于linux - unix中的子命令替换多个符号,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45566936/