2013-12-11 38 views

回答

6

似乎容易使用反向引用:

sed 's/\(.\)\1\+/\1/g' infile 
+0

好一個! +1 :) – hek2mgl

+0

謝謝,但是這個命令正在替換所有遇到不止一次的字符,但是我只需要替換「?」,我沒有提到這個問題。 – user3091715

+0

太棒了! +1 :) – janos

1

如果要截斷一個特定字符的連續運行,tr -s做到這一點。

tr -s '?' <file >file.new 
1

根據您的限制?

sed 's/[?]\{2,\}/?/g' YourFile 

也符合POSIX標準

相關問題