2013-05-31 55 views
0

使用SED,我怎麼能更改輸入字符串如987239 38 37 32即輸入的字符串的每個數字後插入前位3和空間9872.修改輸入字符串中使用的sed

輸入字符串:

9872 

需要的輸出:

39 38 37 32 
+1

這是相當瑣碎,你嘗試過什麼?你卡在哪裏? – Kevin

+0

你有很好的答案。如果「3」不固定,你可以寫:'n = 3; sed「s/[0-9]/$ n&/ g」<<<「12345」' –

回答

3

只是爲了完整性,使用正則表達式引用的更一般的方式。

echo 9872 | sed -r 's/([[:digit:]])/3\1 /g' 
4
echo 9872 | sed 's/./3&\ /g' 
+1

爲了安全起見,我會使用'echo 9872 | sed's/[0-9]/3&/ g''否則它可能會帶有虛假的空白和EOL。 – Marius

+0

另外,我不認爲空間需要逃脫。可能不會傷害任何東西,雖然... – twalberg

0
$ echo "9872" | sed 's/[0-9]/3& /g' 
39 38 37 32 
+0

非常感謝。工作就像一個魔術:) – user2440648