次のデータを含むファイルがあります。
ファイルのデータ:
axbnx $56 ghjas $78$
axbnx $5** ghjas $
axbnx $006 ghjas $$678
次の形式の出力が必要です。
axbnx $** ghjas $**$
axbnx $*** ghjas $
axbnx $*** ghjas $$***
私のコード:[動作しません]
sed -E 's/$[[:digit:]]/*/g'
このエミュレータで作業してみてください。https://rextester.com/l/bash_online_compiler
ベストアンサー1
そしてperl
$ perl -pe 's/\$\K\d+/$&=~s|.|*|gr/ge' ip.txt
axbnx $** ghjas $**$
axbnx $*** ghjas $
axbnx $*** ghjas $$***
\$\K\d+
文字の前にある数字と一致します$
(で一致部分の一部になる\K
のを防ぎます)。$
$&
$&=~s|.|*|gr
一致する部分の各文字を次に置き換えます。*
e
交換部品のPerlコードの使用を許可するフラグ
また、使用することができますperl -pe 's/\$\d+/$&=~tr|0-9|*|r/ge'