我試圖用sed命令清除一個txt文件中的所有字符怪異:刪除文本文件
sed -i.bak -e '[email protected]^[A-Za-z0-9_.;,:][email protected]@g' *.txt
回報
sed: RE error: illegal byte sequence
我在做什麼毛病經常EXP?通常,我說 「全部替換不是A-ZA-Z0-9 _;,:」 有 「」
我試圖用sed命令清除一個txt文件中的所有字符怪異:刪除文本文件
sed -i.bak -e '[email protected]^[A-Za-z0-9_.;,:][email protected]@g' *.txt
回報
sed: RE error: illegal byte sequence
我在做什麼毛病經常EXP?通常,我說 「全部替換不是A-ZA-Z0-9 _;,:」 有 「」
你把^
@不好的地方,把它放在那裏:
sed -i.bak -e '[email protected][^A-Za-z0-9_\.;,:]\[email protected]@g' *.txt
,而不是小的變化(backslashing一些特殊字符)
你正在運行哪個操作系統? – 2014-12-11 00:37:43
我使用的是Mac OS – Michele 2014-12-11 00:44:14
正在使用-E而不是-e幫助嗎? – 2014-12-11 00:46:58
比方說您有一個名爲「my_file」的文件這樣的事情
Location: http://www.google.gy/?gws_rd=cr&ei=l_KIVOXnIsinNq2NgsgB [following]
--2014-12-10 21:25:44-- http://www.google.gy/?gws_rd=cr&ei=l_KIVOXnIsinNq2NgsgB
Resolving www.google.gy (www.google.gy)... 64.233.176.94, 2607:f8b0:4002:c05::5e
Connecting to www.google.gy (www.google.gy)|64.233.176.94|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `index.html.2'
你可以試試
sed -i.bak -e 's#[^[:alnum:].;,:]##g' 'my_file'
這將查找非字母數字或「。」或「;」或「,」或「:」並打印的字符。 結果
Location:http:www.google.gygwsrdcreilKIVOXnIsinNq2NgsgBfollowing
2014121021:25:44http:www.google.gygwsrdcreilKIVOXnIsinNq2NgsgB
Resolvingwww.google.gywww.google.gy...64.233.176.94,2607:f8b0:4002:c05::5e
Connectingtowww.google.gywww.google.gy64.233.176.94:80...connected.
HTTPrequestsent,awaitingresponse...200OK
Length:unspecifiedtexthtml
Savingto:index.html.2
格倫·傑克曼是正確的,在幫助其他職位找到了解決辦法...
唯一的問題就是命令現在只知道英語拉丁字符所以將無法正常工作......
這裏的結果,什麼都沒有改變:
ÁÉc†ÿ°「Å9,0,sub,,0,0,0,,Pero, aun no comprendo porque quer√≠a acabar conÄC∂u⁄ÁÉx¨†ú°ñÅ996,0,sub,,0,0,0,,õÇ–†µ°ØÅ*10,0,sub,,0,0,0,,Ha deshonrado aléC∂u⁄ÁÉ©≤†」°ÕÅ11,0,sub,,0,0,0,,{\pos(1481.142,795.974)\bord0\fad(800,0)}Himalayan RangeõÇ!¸C∂[email protected]óÁÉf†」°ÕÅ12,0,sub,,0,0,0,,¬øEsta seguro que querer hacerlo solo?, se√±or MitsumazaõÇ»†ª°µÅî13,0,sub,,0,0,0,,Silencio Tatsumi, tranquil√≠zateõÇ2C∂[email protected]ôÁÉ,†©°£Å14,0,sub,,0,0,0,,Pero se√±or...õÇ\†≠°ßÅ\15,0,sub,,0,0,0,,Aunque lo digas...õÇ<†∏°≤Åò16,0,sub,,0,0,0,,Tengo un esp√≠ritu aventureroõÇ|C∂[email protected]£ÁÉ@†∞°™Å17,0,sub,,0,0,0,,Lo entiendo se√±or...õÇ–†≤°¨Å–18,0,sub,,0
您可能想要使用一些POSIX爲清楚起見字符類名(?):'SED -i.bak -e「S/[^ [:alnum:] [:punct:] [:blank:]] // g'* .txt' - 你知道你也在刪除空格和製表符? – 2014-12-11 00:53:33
[RE錯誤:Mac OS X上的非法字節序列]的可能重複(http://stackoverflow.com/questions/19242275/re-error-illegal-byte-sequence-on-mac-os-x) – 2014-12-11 00:54:51
哦,是的,我如何保持空間? – Michele 2014-12-11 01:19:52