作者dyoll (lloyd huang)
看板Linux
標題Re: [問題] 移除字串的標點符號
時間Sun Apr 10 09:55:54 2011
※ 引述《antontw (三十個扮上進青年之一)》之銘言:
: 設計內容:
: $ cat file.txt
: 2000,"1,234,567","5,678",3000,10000,"1,300"
: 1000,"1,121,234,567","4,321",3000,10000,"2,600"
: 執行結果:
: $ echo $(sed -e 's/$/#/' -e 's/"\([^"]*\)"/\n"\1"\n/g' file.txt | \
: sed -e '/^"/s/[",]//g') | sed -e 's/ //g' -e 's/#/\n/g'
: 2000,1234567,5678,3000,10000,1300
: 1000,1121234567,4321,3000,10000,2600
: 唔 ... 犧牲掉一個 # 了 ...
Hi antontw
謝謝你,看了你的解法,讓我有了另外的想法,參考您的作法後改變如下
$ cat file.txt | sed -e 's/$/END/' -e 's/"\([^"]*\)"/\n"\1"\n/g' | \
sed -e '/^"/s/,//g' | sed -e :x -e 'N;s/\n//;/END/!tx;{s/END//}'
2000,"1234567","5678",3000,10000,"1300"
1000,"1121234567","4321",3000,10000,"2600"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.254.197.196
※ 編輯: dyoll 來自: 111.254.197.196 (04/10 09:56)
※ 編輯: dyoll 來自: 111.254.197.196 (04/10 10:25)
→ jeremy007:謝謝您的協助, 這個一行文可以動, 但我需要好好研究 ^_^ 04/10 17:28
推 antontw:謝謝 dyoll 的 feedback,我要消化一下。 04/11 10:42