ファイルから文字を検索し、内容を含むファイルに置き換えたいです。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
i
n-place と ubstitude は with の発生が ning から読み取れるように初期化されるたびs
に編集されます (BEGIN 文で値なしで宣言してレコード区切り文字が設定されていないため)。にリダイレクトされます。g
ktr_updater
$r
$r
BEGIN
STDIN
local
other-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