본문 바로가기
Linux - CentOS

[Linux] 문자열 찾기 / 파일 찾기 / 내용 변경하기

by 탷 2022. 2. 18.

찾고 싶은 문자열이 있다면 'grep'을 사용하면 된다.

grep -rni <찾을 문자열> <경로>

여기서 -r/-n/-i 옵션들은 하위 디렉토리까지 찾기/라인 번호 알려주기/대소문자 구분없애기이다.

 

파일 안의 내용이 아니라 파일의 이름이나 디렉토리를 찾고 싶다면 'find'를 사용할 수 있다.

find ./ -name <파일 이름>

현재 위치에서가 아니라 특정 경로에서 찾고 싶다면 ./ 대신 찾고 싶은 경로를 입력해 주면 된다.

 

옵션으로는 -f/-d를 줄 수 있는데 각각 일만 찾기/디렉토리만 찾기이다.

 

루트 경로에서 하위 폴더에 있는 'pom.xml'이란 파일만 찾기 위해선 아래와 같이 입력 할 수 있다.

find / -name pom.xml -f

 

 

그리고 find를 이용해서 파일을 찾아 내용을 바꾸거나 제거할 수도 있다.

 

find ./ -name <파일 이름> -exec sed -i "s/찾을 문자열/바꿀 문자열/g" {} \;

여기서 옵션으로는 g/i/c가 들어갈 수 있는데 각각 한행에 문자열이 반복되면 모두 바꾼다/대소문자 구분 안한다/바꿀 때 확인이다.

 

 

내용을 변경하는게 아닌 삭제를 하고 싶다면 sed 대신 rm을 입력해 주면 된다.

find ./ -name <파일 이름> -exec rm {} \;

 

 

+) vi에서 문자열을 변경하고 싶다면 해당 파일로 들어가서 다음 명령어를 사용하면 된다.

:<시작줄>, <끝 줄> s/찾을 문자열/바꿀 문자열/g

옵션으로 들어갈 수 있는것은 g/i/c로 위에서 설명한 것과 같다.

'Linux - CentOS' 카테고리의 다른 글

[LINUX] CentOS yum 명령어  (0) 2023.05.17
[LINUX] CentOS8 yum 명령어 사용 안될 때  (0) 2023.05.17
[Linux - CentOS] RPM 명령어 사용법  (0) 2021.09.01
[Linux] tail 명령어  (0) 2021.08.23
[LINUX] OS 버전 확인  (0) 2021.08.11