文字列をワイルドカードに置き換えたいのですが、機能しません。
文字列は「some-string-8」のようになります
私が書いた
sed -i 's/string-*/string-0/g' file.txt
しかし、出力は
some-string-08
アスタリスク(*)は、「前の項目のゼロ以上」を意味します。
単一の文字の使用に一致させたい場合
sed -i 's/string-./string-0/g' file.txt
任意の文字列(つまり、1文字を0回以上)に一致させたい場合は、
sed -i 's/string-.*/string-0/g' file.txt
したがって、正規表現の「ワイルドカード」の概念は少し異なります。 「任意の文字」に一致させるには、「。」を使用します。 「*」修飾子は、何回でも一致することを意味します。