想知道,如何处理输入文件中存在的两种或多种不同的分隔符格式。示例:输入文件不受"|"和","
的限制输入.txt
Name|Location|Amount |Desc|Count
aaaa|xxxxxxxx|100.000 |aaa |15
bbbb|yyyyyyyy|1,500.000 |bbb |20
cccc|zzzzzzzz|2,324,567.000 |ccc |38
dddd|wwwwwwww|58.000 |ddd |42
试过以下命令,不成功
awk -F '|' '{OFS=","; print $1,$2,$3,$4,$5}' Input.txt
输出.txt
aaaa,xxxxxxxx,100.000 ,aaa ,15
bbbb,yyyyyyyy,1,500.000 ,bbb ,20
cccc,zzzzzzzz,2,324,567.000 ,ccc ,38
dddd,wwwwwwww,58.000 ,ddd ,42
这里我尝试设置 OFS=","并将 ","替换为 "(如果源文件中存在)。示例:Input 1,500.000 to be changed as 1500.000
所需的输出.txt
Name,Location,Amount ,Desc,Count
aaaa,xxxxxxxx,100.000 ,aaa ,15
bbbb,yyyyyyyy,1500.000 ,bbb ,20
cccc,zzzzzzzz,2324567.000 ,ccc ,38
dddd,wwwwwwww,58.000 ,ddd ,42
!!寻找您的建议
尝试如下 sed:
sed 's/,//g;s/|/,/g' Input.txt
使用 awk,您可以在下面这样替换 "," 的出现:
awk -F '|' '{ gsub(/,/,""); $1=$1 }1' OFS="," Input.txt