2014-11-25 50 views
1

想知道,如何在輸入文件中存在兩種或多種不同的解除限制器格式。 示例:通過「|」取消限制的輸入文件和 「」要處理多種不同的解除限制器格式:

INPUT.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 

試過下面的命令和未SUCESSFUL

awk -F '|' '{OFS=","; print $1,$2,$3,$4,$5}' Input.txt 

Output.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

期望Output.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 

尋找您的建議!

回答

1

嘗試下面的sed:

sed 's/,//g;s/|/,/g' Input.txt 

用awk,您可以substitue的次數 「」 下面像以前一樣:

awk -F '|' '{ gsub(/,/,""); $1=$1 }1' OFS="," Input.txt 
+0

非常感謝阿爾馬斯謝赫! – VNA 2014-11-25 16:24:59

+0

非常歡迎。 – SMA 2014-11-25 16:28:44

相關問題