3つ以上の数字を同じ数の*に置き換えます。

3つ以上の数字を同じ数の*に置き換えます。

テキストファイル内の3桁以上の文字列を同じ数字に置き換えたいと思います*。例: abc-1234-45 --> abc-****-45

echo "abc-1234-45" | sed 's/[0-9]\{3,\}/*/'

これを試しましたが*に置き換えられました。

ベストアンサー1

あなたはそれを使用することができますperl

$ echo "abc-1234-45" | perl -pe 's/(\d{3,})/"*" x length($1)/eg'
abc-****-45

/eフラグは、perl置換の前に右側が式として評価されるようにします。

おすすめ記事