"User": "x-73098"
次のファイル名を持つ複数のファイルから呼び出された変数があります。 astro_root_sys-dev.txt.
"User": "x-73098" 変数を持つすべてのファイルを探し、その変数値を動的"User": "x-73098"
に"User": "sys_user"
。
ユーザー値(x-73098)はすべてのファイルで同じではなく、x-の後の数字は多くのファイルで異なります。
答え1
このsed
線形検索は、「unknown」を含む文書を検索し、「sys_user」に置き換えます。
sed -i 's/"unknown"/"sys_user"/g' *.txt
次のすべての文字列を変更するには-73098
:
xが数値の場合:
sed 's/[0-9]-73098/"sys_user"/g' *.txt
xが小文字の場合:
sed 's/[a-z]-73098/"sys_user"/g' *.txt
xが大文字の場合:
sed 's/[A-Z]-73098/"sys_user"/g' *.txt
xが大文字、小文字、または数字の場合:
sed -i 's/[a-zA-Z0-9]-73098/User: "sys_user"/g' *.txt
答え2
努力する
for FN in astro*.txt; do sed -r 's/(User: ")x-[[:digit:]]*"/\1sys_user"/' "$FN" > /tmp/TMP$$; mv /tmp/TMP$$ "$FN"; done