grep -rl 'artartart' * | xargs sed -i 's/artartart/st/g'
>> OK 실제로도 치환
>> artartart 문자를 전체 파일(*)에서 검색해서 sed 명령어를 전체 파일(*)에 대해 일괄적으로 수행(xargs)한다.
>> -i : 결과를출력하는 대신, 파일을 직접바꾼다.
>> -r(하위 디렉터리 포함 검색), l(패턴 포함된 파일 이름 출력)
>> g(각 행마다 첫 번째 단어만 치환)
vi 편집기 안에서의 치환
:%s/foo/bar/gc
>> c(단어마다 치환할 것인지 물어보면서 진행)
cat sed.jsp | xargs sed -i 's/st/start/g'
>> ERROR
cat sed.jsp | sed -i 's/st/start/g'
>> ERROR
>> cat과 -i 옵션이 중복돼서 에러? cat은 출력이고 -i는 출력 대신 직접 변경
>> cat이랑 -i 옵션은 일반적으로 같이 쓰는게 지원되지는 않는다.
cat sed.jsp |sed 's/st/white/g'
>> OK but 실제 치환되지는 않음
>> -i(출력 대신 변경) 옵션을 설정하지 않았으니 치환(sed)된 결과가 출력(cat)으로만 보여진다.
'OS > Linux' 카테고리의 다른 글
| RHEL6 OHS 필수 패키지 설치 (0) | 2026.04.03 |
|---|---|
| 사용자 계정 & 그룹 생성 (0) | 2023.10.06 |
| [Linux] vi 편집기 단축키 (0) | 2023.06.15 |