替換 sed 中的數字塊

替換 sed 中的數字塊

我已經擺弄這個有一段時間了,似乎無法弄清楚。我想做的是將文件中的所有數字替換為單一 #。

聽起來很簡單,也應該如此,但我無法理解它。任何幫助,將不勝感激。

到目前為止我所得到的(但不起作用)是:

echo "fdsafdsa 32432 dsafdas" | sed 's/[0-9]+/#/g'

我期望的輸出是:

fdsafdsa # dsafdas

但 sed 給了我相同的字串,沒有任何替換。

有什麼線索嗎?

答案1

你不需要+.只需使用以下內容:

echo "fdsafdsa 32432 dsafdas" | sed 's/[0-9]/#/g'

[0-9]將已經匹配所有數字,並將每個數字替換為#.


由於+是擴展語法,您還可以這樣做:

echo "fdsafdsa 32432 dsafdas" | sed -E 's/[0-9]+/#/g'

將整個數字塊替換為 #

相關內容