[리눅스] 파일 검색

Becoming a Data Engineer ·2023년 9월 12일
0

리눅스

목록 보기
5/9
post-thumbnail

find : 디렉토리 계층에서 파일 검색


search for files in a directory hierarchy
주어진 위치에서 입력한 이름과 일치하는 파일의 이름을 통해 파일을 검색

hyojin@computer:~/sample/sample2$ ls
newnewfile  newnewfile2

hyojin@computer:~/sample/sample2$ find . -name "*new*"
./newnewfile2
./newnewfile

which : 경로 출력


locate a command
환경 변수에 의해 설정된 프로그램이나 명령어의 원래 경로를 출력

명령어나 프로그램의 경로를 몰라도 운영체제에서 특정 명령어를 통해 프로그램이나 명령어를 실행시켜줄 수 있는 이유는 경로가 모두 환경 변수에 등록 되어있기 때문이다.

ubuntu@$your_host_name:~$ which find
/usr/bin/find

ubuntu@$your_host_name:~$ which cat
/usr/bin/cat

ubuntu@$your_host_name:~$ which cp
/usr/bin/cp

grep : find 보다 폭 넓은 검색


print lines that match patterns
파일 이름 및 파일 내용을 이용해 찾기

grepfind와 비슷한 역할을 하지만 find보다 폭 넓은 검색을 지원하고 정규식을 활용해 검색하는 것도 지원한다.

  • -rn

    • -r : 재귀적으로 검색, 디렉토리 구조 내의 모든 파일에서 검색이 이루어진다.
    • -n : 라인 번호 출력을 활성화, grep 일치하는 패턴을 찾은 각 라인의 시작 부분에 해당 라인 번호를 함께 표시한다.
    ubuntu@$your_host_name:~$ grep -rn "line"
    sample/line2.txt:1:line1
    sample/line2.txt:2:line2
    sample/find_manual.txt:23:       The  -H,  -L and -P options control the treatment of symbolic links.  Command-line arguments
    sample/find_manual.txt:55:       -H     Do  not  follow  symbolic  links, except while processing the command line arguments.
    sample/find_manual.txt:58:              behaviour is when a file specified on the command line is a symbolic  link,  and  the
    sample/find_manual.txt:62:              be examined.  If -H is in effect and one of the paths specified on the  command  line
    sample/find_manual.txt:67:       pearing  on the command line takes effect.  Since it is the default, the -P option should be
    ...
  • 각 라인의 끝이 tion으로 끝나는 내용이 들어있는 파일을 정규식을 통해 찾기

    ubuntu@$your_host_name:~$ grep -rn "[a-zA-Z]\+tion$" .
    (출력 결과 생략)
profile
I want to improve more 👩🏻‍💻

0개의 댓글