파일 복사 및 문자열 바꾸기

파일 복사 및 문자열 바꾸기

log_REPLACE파일을 복사하고 파일 이름의 문자열을 파일의 문자 합계로 바꾸는 스크립트를 작성하려고 합니다 .REPLACEAB

그래서 문자열이 각각 문자 A와 B로 바뀌는 log_A, 및 를 만들고 싶습니다 .log_bREPLACE

제 생각에는:

cp log_REPLACE log_A
cp log_REPLACE log_B
grep -rl REPLACE  | xargs sed -i 's/REPLACE/A/g'

그러나 결국 두 개의 복사본(*A 및 *B)으로 다시 작성됩니다. 더 좋은 방법이 있나요?

답변1

가능한 파일 이름 하위 문자열을 반복하고 로 바꾸고 STDOUT을 원하는 파일 이름으로 sed저장할 수 있습니다.sed

for i in a b; do
    sed "s/REPLACE/$i/g" log_REPLACE >"log_$i"
done

필요에 맞게 필요한 변경을 수행합니다.

관련 정보