ファイル内容の検索と置換[重複]

ファイル内容の検索と置換[重複]

ファイルから文字を検索し、内容を含むファイルに置き換えたいです。ktr_updaterファイルから検索し、Unixコマンドを使用して他のファイルのファイルの内容に置き換えます。

sed -i 's/ktr_updater/'"$ktrupdate"'/g' samplejob.kjb

答え1

perl -pi -e 'BEGIN{local $/; $r = <STDIN>} s/ktr_updater/$r/g
            ' file < other-file

file in-place と ubstitude は with の発生が ning から読み取れるように初期化されるたびsに編集されます (BEGIN 文で値なしで宣言してレコード区切り文字が設定されていないため)。にリダイレクトされます。gktr_updater$r$rBEGINSTDINlocalother-file

GNUsedまたは互換バージョンを使用すると、ファイルの内容をシェル変数に保存して同じ操作を実行できます。sed sコマンドの置換に適したものに変換します。そして電話sed

repl=$(cat other-file; echo .); repl=${repl%.}
escaped_repl=$(printf '%s\n' "$repl" | sed 's:[\/&]:\\&:g;$!s/$/\\/')
sed -i "s/ktr_updater/$escaped_repl/g" file

関連情報