2013-12-13 18 views

回答

1

你可以使用這個sed的:

sed -i.bak 's/(\([0-9]*\))-\([0-9]*\)-\([0-9]*\)/\1\2\3/' file 

或使用擴展的正則表達式標誌:

sed -i.bak -r 's/\(([0-9]{3})\)-([0-9]{3})-([0-9]{4})/\1\2\3/' file 
+2

POSIX的變種/ \( ([0-9] \ {3 \})\) - ([0-9] \ {3 \}) - ([0-9] \ {4 \})/ \ 1 \ 2 \ 3/G」 (以g結尾,因爲某些行可能有多個電話號碼) – NeronLeVelu

+0

謝謝!但是,您能否解釋'-i.bak'選項?我知道-i是在原地,但是.bak部分呢? – DaedalusUsedPerl

+1

'.bak'是在線編輯文件之前sed創建的備份擴展名。這只是爲了安全起見,如果出現任何問題,可以用'file.bak'名稱找到原始文件。 – anubhava