셸 find 찾기 명령
2139 단어 셸 - 명령
1. vi 에서 사용 하 는 대체 방법 찾기
이용: s 명령 은 문자열 의 교 체 를 실현 할 수 있 습 니 다.구체 적 인 용법 은 다음 과 같다.
: s/str 1/str 2/문자열 str 2 로 줄 에 처음 나타 난 문자열 str 1 을 대체 합 니 다.
: s/str 1/str 2/g 줄 에 있 는 모든 문자열 str 1 을 문자열 str 2 로 대체 합 니 다.
:., $s/str 1/str 2/g 현재 줄 에서 끝까지 나타 나 는 모든 문자열 str 1 을 문자열 str 2 로 대체 합 니 다.
: 1, $s/str 1/str 2/g 본문 에 있 는 모든 문자열 str 1 을 문자열 str 2 로 대체 합 니 다.
: g/str 1/s/str 2/g 기능 은 상기 교체 명령 에서 볼 수 있 습 니 다. g 는 명령 끝 에 놓 고 검색 문자열 이 나타 날 때마다 교체 하 는 것 을 표시 합 니 다.g 를 추가 하지 않 고 검색 문자열 의 첫 번 째 출현 만 바 꾸 는 것 을 표시 합 니 다.g. 명령 시작 에 놓 으 면 본문 에 검색 문자열 을 포함 하 는 모든 줄 을 바 꾸 는 것 을 표시 합 니 다.
% s/바 꾸 기 전 문자열/바 꾼 문자열/g, 이상 바 꾸 기 명령 은 대소 문자 만 바 꿀 수 있 습 니 다. 대소 문자 가 g 뒤에 i 를 추가 하 는 것 을 무시 하면 됩 니 다!
/str, 찾기 만 표시 합 니 다.
2. 셸 에서 find 를 사용 하여 grep 와 결합 하여 파일 을 교체 합 니 다.
find ./-exec grep str1 ‘{}’\; -exec sed -i.bak s/str1/str2/g ‘{}’\;
위의 명령 은 현재 디 렉 터 리 아래 (하위 디 렉 터 리 포함) 에서 str 1 을 포함 하 는 파일 을 찾 아 str 2 로 자동 으로 바 꾸 고 원본 파일 을 생 성 하 는 bak 파일 을 찾 을 수 있 습 니 다.
3. sed 명령 으로 여러 파일 의 문자열 을 대량으로 바 꿀 수 있 습 니 다.
sed - i "s/원 문자열/새 문자열/g"
grep -rl
은 "작은 따옴표 가 아 닙 니 다.이 곳 에는 모두 실행 기호 가 있 습 니 다. 아 쉽게 도 표시 되 지 않 습 니 다. 예 를 들 어 저 는 mahuinan 을 huinanma 로 바 꾸 고 명령 을 수행 하 겠 습 니 다. sed - i "s/mahuinan/huinanma/g"
grep mahuinan -rl /www
여기 에는 실행 기호 가 있 습 니 다. 아 쉽게 도 표시 되 지 않 습 니 다. A = aabbccddeeff echo $A | fold - w2 | grep - 1 bb | tr - d '| sed - r' s/([a - z] {2})/\1,/g "aa, bb, cc 에 서 는 하나의 $만 표시 할 수 없습니다. 출력 결 과 는 bb 의 상하 행 과 cc 행 echo $A | fold - w2 | grep - E - 1 'bb | ee' | tr - d '| sed - r' s/([a - z] {2})/\1,/g "aa, bb, cc, d, ee, ff 결 과 는 bb 의 상하 각 줄 과 ee 의 상하 각 줄 입 니 다. 추가 자체 줄 4. 디 렉 터 리 및 파일 찾기: find/(검색 범위)- name '키워드 찾기' - type d 키 워드 는 전체 이름 이 어야 할 것 같 습 니 다. find/(검색 범위) - name 키워드 찾기 - print/opt/app/dev/xi $a = find / -name xi -type d
실행 기호 가 있 습 니 다. 아 쉽게 도 표시 되 지 않 습 니 다./opt/app/dev/xi echo a/opt/app/dev/xi/opt/app/dev/xi $a = find / -name xi -type d
실행 기호 가 있 습 니 다. 아 쉽게 도 표시 되 지 않 습 니 다./opt/app/dev/xi echo a 결 과 는 비어 있 습 니 다.