파일 내용 검색 및 바꾸기 [중복]

파일 내용 검색 및 바꾸기 [중복]

파일에서 문자를 검색하고 내용이 포함된 파일로 바꾸고 싶습니다. 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

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

관련 정보