我有一个如下的dat文件。
1436667|disne-2h.xco.caDIAS0000000000897089-DIAS0000000000897090|""|""|""|""|....
|disne-2h.xco.caDIAS0000000000897089-DIAS0000000000897091|""|""|||这里的"|“是字段分隔符。
我有一个场景,如下。
我需要检查第一列是否为空,如果第二列不为空,则必须替换为第二列,并向其添加一个字符串。
我尝试了下面这样的方法。
awk -F '|' '$2 && !$1{ $1=$2 }1' Asset.csv上面的命令删除了字段分隔符,并在没有字段分隔符的情况下获得输出。如果我向它添加字符串,如下所示。
awk -F '|' '$2 && !$1{ $1=$2+"_ABC" }1' Asset.csv第一列的值为0。
请你建议一下怎么做,并在第一栏中添加一个字符串。
提前谢谢。
发布于 2019-12-16 23:33:43
您可以使用此解决方案:
awk 'BEGIN{FS=OFS="|"} $1=="" && $2!=""{$1=$2 "_ABC"} 1' file
1436667|disne-2h.xco.caDIAS0000000000897089-DIAS0000000000897090|""|""|""|""|....
disne-2h.xco.caDIAS0000000000897089-DIAS0000000000897091_ABC|disne-2h.xco.caDIAS0000000000897089-DIAS0000000000897091|""|""|||https://stackoverflow.com/questions/59353190
复制相似问题