
我已經擺弄這個有一段時間了,似乎無法弄清楚。我想做的是將文件中的所有數字替換為單一 #。
聽起來很簡單,也應該如此,但我無法理解它。任何幫助,將不勝感激。
到目前為止我所得到的(但不起作用)是:
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'
將整個數字塊替換為一 #
。