2009-12-14 3 views
0

하나의 유닉스 명령 grep을 여러 번 사용하여 문자열을 검색하고 바꿀 수있는 방법이 있습니까? sed perl과 같은 다른 유틸리티와 find를 조합하여 사용할 수 있음을 알고 있습니다.하지만 유닉스 명령 줄에서 grep 만 사용할 수있는 방법이 있습니까?문자열을 검색하고 바꿉니다

+1

쉘이있는 경우 포함 나오지도 및 기타 유틸리티, 훨씬 더 쉬울 것? sed를 참여 시키면 훨씬 쉬워집니다. –

+1

실제로. 'grep'은 검색만을위한 것이며, 단순히 대체하지 않습니다. 'sed'와'perl'은 둘 다 더 적절한 도구입니다. –

답변

1

grep만이 여기에서 작동한다고 생각하지 않습니다. 단지

0

한 가지 방법을 grep을보다 당신이 GNU 찾아 제약이 GREP을 사용하는 이유는 배쉬는

find /path -type f -iname "*.txt" | while read -r FILE 
do 
    while read -r LINE 
    do 
     case "$LINE" in 
     *WORD_TO_SEARCH*) LINE=${LINE//WORD_TO_SEARCH/REPLACE};; 
     esac 
     echo "$LINE" >> temp 
    done < "$FILE" 
    mv temp "$FILE" 
done