더 많은 검색 패턴이있는 경우 파일에 저장하고 대체 패턴을 읽을 수 있습니다. 예를 들어, 다음 내용이 있다고 가정하십시오 replacements.txt
.
www\.abcdef www.test.abcdef
www\.klmnop www.test.klmnop
그런 다음 N 개의 교체 목록을 읽고 다음과 같이 교체 할 수 있습니다.
while read from to; do
sed -i "s/$from/$to/" infile.txt ;
done < replacements.txt
노트:
- 검색 문자열에 공백이없고 이상한 문자를 이스케이프해야한다고 가정합니다
replacements.txt
.
sed
교체 작업이 많은 경우 교체 당 하나씩 실행 되며 시간이 걸릴 수 있습니다.
- 시간이 조금 더 걸리는 것을 신경 쓰지 않는 한 임의의 수의 교체 (수천 또는 수백만 또는 기타)를 처리 할 수 있습니다.
다른 옵션은 위의 내용을 sed
스크립트 로 작성하는 것입니다 .
s/www\.abcdef/www\.test\.abcdef/g;
s/www\.kmlnop/www\.test\.klmnop/g;
s/aaaa/bbbb/g;
s/cccc/dddd/g;
s/eeee/ffff/g;
그런 다음 파일에서 스크립트를 실행할 수 있으며 모든 대체를 한 번에 수행합니다.
sed -f replace.sed infile.txt