我有一个|
分隔文件,我需要在其中搜索第 3 列中的 char 并将其替换为 null。我只需要替换第三个字段中出现字符的列。
文件1.txt
xx|yy|xx|12
输出文件:
xx|yy||12
我通过这个实现了
awk 'BEGIN {FS=OFS="|" } $3 ~ /[[:alnum:]]/ { $3="" }1' file
但我面临的是,如果有任何列具有管道字符,应将其视为单列,则不应将其视为字段分隔符。
xx|yy|"xyz|xx"|AAA|12...
所以输出应该是这样的:
xx|yy|"xyz|xx"||12
所以 AAA 应该用 null 替换,因为 AAA 作为第 4 列。