請問sed 取代 ' 的語法 - Linux

Table of Contents

各位版友好

想請問一下一個 sed 取代的問題

目前有一個檔案 a.txt 內容含有

'h','t','t','p',':','/','/'



用指令 sed 's/,//g' a.txt > b.txt

得到b.txt的內容為 'h''t''t''p'':''/''/'

請問要怎麼才能把 ' 取代掉呢?

得到 http://

因為用sed 's/'//g' b.txt > c.txt 都一直出錯 >_<

--

All Comments

Quanna avatarQuanna2009-09-10
/\'/
Dora avatarDora2009-09-15
sed 's/\'//g' b.txt>c.txt 還是NG耶 囧
Agnes avatarAgnes2009-09-19
sed "s/'//g" b.txt > c.txt
Carolina Franco avatarCarolina Franco2009-09-22
我猜系統把前兩個單引號當一對了
Sierra Rose avatarSierra Rose2009-09-24
居然還有這招 it's work 謝謝樓上 ^^
Mason avatarMason2009-09-27
還有一招: sed 's/['\'',]//g' b.txt > c.txt
Lydia avatarLydia2009-10-02
['\'',] 這是什麼意思?
Erin avatarErin2009-10-05
原來是 s/[',]//g (取代所有的逗點和單引號) 拆成兩部份
Barb Cronin avatarBarb Cronin2009-10-09
's/[' + \' + ']//g' (其實是3部份,呵...)
Charlie avatarCharlie2009-10-12
用這個重組的方式,可以克服同時有雙引號和單引號的字串
Andrew avatarAndrew2009-10-16
更正: 's/[' + \' + ',]//g'
Franklin avatarFranklin2009-10-19
所以是\' => " 這個 ', => , 的意思嗎?
Jacob avatarJacob2009-10-24
在shell裡要特別處理的是單引號('),所以要變成\'
Rae avatarRae2009-10-25
其他的部份只要用"夾"的就可以了. 能理解吧?
Harry avatarHarry2009-10-30
(s/[) + (\') + (,]//g) = s/[',]//g
Gary avatarGary2009-11-01
謝謝p大指導~受教了 ^^
Lydia avatarLydia2009-11-02
^^
Joe avatarJoe2009-11-04
echo "'h','t','t','p',':','/','/'" | tr -d ",'"
Xanthe avatarXanthe2009-11-04
sed "s/[,']//g" a.txt > b.txt
Tristan Cohan avatarTristan Cohan2009-11-08
tr -d ",'" < a.txt