
私はしばらくの間これをいじっていますが、どうも理解できないようです。私がやろうとしているのは、ファイル内のすべての数字を 1 つの # に置き換えることです。
簡単そうに聞こえますし、そうであるべきなのですが、私には理解できません。どなたか助けていただければ幸いです。
これまでのところ私が得たもの(ただし動作しません)は次のとおりです。
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'
数字のブロック全体を1つ #
。