반응형
결론부터 말하면, 만약 "example-string" 라는 문자열이 들어있는 파일을 찾고 싶다면 아래 명령어로 찾을 수 있다.
find . -type f -print | xargs grep -i "example-string"
예를 들어보자!
만약 내가 위치해있는 디렉토리에 아래와 같이 test1, test2, test3, test4, test5 파일이 있고, 각 파일의 내용은 아래 캡처와 같다고 하자.
"world"라는 문자열이 있는 파일을 찾아내고 싶은데, 파일이 이것보다 훨씬 많으면 하나하나 들어가서 확인하기가 번거롭다. 그럴 때 위에서 말한 명령어를 사용하면 된다.
여기서 불편한 점 하나는, 찾고자 하는 단어가 하나의 파일에 여러 번 들어있으면 아래처럼 동일한 파일명과 그 라인이 여러 번 출력된다.
만약 해당 단어가 위치한 라인은 보고 싶지 않고 어떤 파일인지 파일명만 궁금하다면 아래의 명령어를 활용해보자.
find . -type f -print | xargs grep -i "world" | cut -d ':' -f1 | cut -c 3- | uniq
참고로 find 명령어는 현재 위치의 하위 디렉토리에 있는 모든 파일을 검사한다. 현재 디렉토리만 검사하고 싶다면 아래처럼 find 명령어 부분에 -maxdepth 1 옵션을 걸어주자.
find . -type f -print -maxdepth 1 | xargs grep -i "world" | cut -d ':' -f1 | cut -c 3- | uniq
반응형
'Dev > Linux' 카테고리의 다른 글
[Linux] mv 명령어 (파일/디렉토리 이동, 이름 변경) (0) | 2020.06.29 |
---|