파일에서 문자를 검색하고 내용이 포함된 파일로 바꾸고 싶습니다. 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
GNU sed
또는 호환 버전을 사용하면 파일 내용을 쉘 변수에 저장하여 동일한 작업을 수행할 수 있습니다.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