2015-05-19 61 views
0

我正在嘗試替換文件中字符串中間發生的任何句點。替換「。」在一個文件中unix

我試過sed使用's/./5/g'以及's/'.'/5/g's/"."/5/g'並沒有給我我想要的輸出。

第一個選項用一個5代替整個文件,第二個用一個5代替每個單個字符,第三個似乎沒有做任何事情(我使用grep來統計出現次數,而他們仍然存在) 。

如何做到這將是任何幫助,不勝感激

INFILE:

010001010.10101010101 

OUTFILE需要:

010001010510101010101 

回答

3

正規表達式模式.意味着 「任何字符」。你想s/\./5/g

+1

或許單曲/[.]/ 5/g';對於額外的無法通過的通行證(如果命令通過ssh傳遞或者在執行之前被其他地方通過的其他地方)傳遞更強健一點。 –

+0

'echo'a.b'| ssh localhost「sed's /\./ 5/g'」'工作得很好。 – ikegami

+0

謝謝!那正是我需要的。 – slarmer1

0

只是點前加反斜槓,因爲它的特殊字符

sed 's/\./5/g' file 
0

您遇到的問題是「」也被用作通配符。您可以通過使用\轉義它解決這一所以它會像s/\./5/g

0

對於一個簡單的轉換就可以使用TR:

cat file | tr "." "5" 
相關問題