2012-11-14 3 views
2

여러 텍스트 파일의 문자열 패턴을 바꾸려면 쉘 스크립트가 필요합니다. - $ $ $ $ - $ $ $ $ - $ $ $ $ - $의 같은 CSRF = $$$$ 일반적으로 그래서셸 Scipt를 사용하여 문자열 패턴 찾기 및 바꾸기

CSRF=PG0U-8R3L-KLXT-7UWT-TSRS-IFLY-OI9Y-M75C 
CSRF=X67S-3QHA-LNT8-D83N-5BS3-2WA4-7BDP-J1NQ 
CSRF=TATJ-3QHA-LNT8-D83N-AGHJ-AGJD-7BDP-JGAJ 
CSRF=DHJG-8R3L-AFJH-ASGJ-TSRS-ADGJ-OI9Y-AGHJ 

:

패턴으로 여러 개의 파일이 occurance 같은 의미 $$$ - $$$$ - $$$$$ - $$$$ $ = 모든 영숫자

이전 텍스트를 찾아서 새 텍스트로 바꾸려면 sed 명령을 이미 사용하고 있습니다. 하지만 여기에 내가 검색하고 바꿀 문자열 패턴을 찾고 있는데요.

내가 가진 명령은 다음과 같습니다

oldtext="CSRF=$$$$-$$$$-$$$$-$$$$-$$$$-$$$$-$$$$$-$$$$" 
    newtext="CSRF Replaced"  
    find -iname '*.txt' | xargs sed -i "s/$oldtext/$newtext/g" 

그래서 내 질문 ... 어떻게이 CSRF 문자열 패턴을 검색 할 수있다 ???

답변

0

나는 당신이 말하는 것을 정말로 이해하지 못합니다. 아마 이것을 찾고있을 것입니다.

find -iname '*.txt' | xargs sed -i "s/^\(CSRF=\)$oldtext/\1 $newtext/g" 
0
oldtext="CSRF=([a-zA-Z0-9]{4}-){7}[a-zA-Z0-9]{4}" 

그럼 당신은 확장 정규 표현식을 사용 (예 : 맥 OS X로, BSD에) (리눅스) sed -r 또는 sed -E를 호출해야합니다.

+0

많은 도움을 받았습니다. 고마워요. –

관련 문제