하나의 유닉스 명령 grep
을 여러 번 사용하여 문자열을 검색하고 바꿀 수있는 방법이 있습니까? sed perl과 같은 다른 유틸리티와 find를 조합하여 사용할 수 있음을 알고 있습니다.하지만 유닉스 명령 줄에서 grep 만 사용할 수있는 방법이 있습니까?문자열을 검색하고 바꿉니다
0
A
답변
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
쉘이있는 경우 포함 나오지도 및 기타 유틸리티, 훨씬 더 쉬울 것? sed를 참여 시키면 훨씬 쉬워집니다. –
실제로. 'grep'은 검색만을위한 것이며, 단순히 대체하지 않습니다. 'sed'와'perl'은 둘 다 더 적절한 도구입니다. –