移除字串的標點符號 - Linux

Table of Contents

※ 引述《jeremy007 (Linux藍海帝國)》之銘言:
: $ cat file.txt
: 2000,"1,234,567","5,678",3000,10000,"1,300"
: 如上述的文字格式, 每個欄位都用逗號 (,) 隔開
: 請問, 如何移除 "...." 符號內的逗號呢 ?
: ex: 預期的結果是
: 2000,1234567,5678,3000,10000,1300

#coding=utf8
import re, subprocess

def myrepl(m):
return m.group(1).replace(',', '')

# 處理前
s = subprocess.Popen(["cat", "file.txt"], stdout=subprocess.PIPE).communicate()[0]
print s

# 處理後
s = re.sub(re.compile(r'(".+?")'), myrepl, s)
print s


執行結果:

2000,"1,234,567","5,678",3000,10000,"1,300"

2000,"1234567","5678",3000,10000,"1300"


用Python寫的 可以弄成一行Linux指令 不過會很醜 = =

--

All Comments

Bethany avatarBethany2011-04-11
謝謝您的協助, 這個 python 也可以正常運作 :)