bash를 사용하면 A
이라는 특정 문자열이 포함 된 파일에서만 bash를 사용하여 대체 문자 (B
을 C
으로 바꿉니다)를 대체하려고합니다.특정 문자열을 포함하는 파일에만 sed 호출 - 파일 이름에 공백 문자와 함께 문제가 발생했습니다.
for FILE in `grep -Rl "A" | tr " " "@"`;
do F1=`echo $FILE | tr "@" " "`;sed 's/B/C/' "$F1";
done
:
내가
grep -Rl "A" | xargs sed -i 's/B/C'
을 시도하지만 파일 이름이 공백 못생긴 해결 방법으로
를 포함 할 때이 오류가 발생, 나는 자리로 공백을 대체하는 다음과 같은 솔루션 함께했다
더 멋진 솔루션이 있습니까?
http://stackoverflow.com/q/15976570/2908724 – bishop