행궁동 데이터 엔지니어

반응형

리눅스에서 하위 디렉토리(폴더) 파일 검색 및 날짜(변경일자 mtime, modify time) 출력하는 방법입니다.

 

사용 명령어

  • find 명령어-printf 옵션, $PWD 변수 (PRINT Working Directory)
  • egrep 명령어 (Extension grep) : 정규표현식 사용을 위함
  • awk 명령어 (Aho Weinberger Kernighan): 날짜와 파일 이름만 잘라내기 (Parsing)
  • ls 명령어-lR --time-style  옵션 : -l 파일을 리스트로 보여줌, -R 하위디렉토리 파일까지 보여줌, --tiem-style : time format 지정 가능

 

긴 설명보다는 예시 코드가 도움이 될 거 같아, 아래에 코드와 출력 결과 남기겠습니다.

CASE 1 : .log 확장자를 가진 파일의 날짜와 파일의 전체 경로(Full Path) 검색 (출력)

find $PWD -printf '%TF %Tr %p\n' | egrep '*.log$' | awk '{print $1" "$2" "$4}'
# -printf 옵션 일부 설명  '%TF' : YYYY-MM-DD 출력, %Tr : HH24:MI:SS 출력
# %p : 파일명출력(path포함) \n : 줄바꿈
# 참고자료 : https://man7.org/linux/man-pages/man1/find.1.html

날짜와 전체경로 출력모습

 

CASE 2: .log 확장자를 가진 파일의 날짜와 파일명 검색 (출력)

# 아래 2개 명령어 모두 동일 awk -F옵션 설명차 2개 명령어를 넣음
# awk 명령어의 경우 -F 옵션 바로뒤에 구분자를 지정할 수있음
# -F옵션으로 구분자를 지정하지 않으면 Default로 띄어쓰기(' ')를 구분자로 사용 

# 1번
ls -lR --time-style='+%F %H:%M:%S' | egrep '*.log$' | awk '{print $6" "$7" "$8}'
# 2번
ls -lR --time-style='+%F %H:%M:%S' | egrep '*.log$' | awk -F' ' '{print $6" "$7" "$8}'

날짜와 파일명 출력 결과

 

기타 궁금하신 사항은 댓글 남겨주세요.

 

감사합니다.

 

예시 코드 전체

find $PWD -printf '%TF %Tr %p\n' | egrep '*.log$' | awk '{print $1" "$2" "$4}'
find . -printf '%TF %Tr %p\n' | egrep '*.log$' | awk '{print $1" "$2" "$4}'

ls -lR --time-style='+%F %H:%M:%S' | egrep '*.log$' | awk '{print $6" "$7" "$8}'
ls -lR --time-style='+%F %H:%M:%S' | egrep '*.log$' | awk -F' ' '{print $6" "$7" "$8}'

 

참고 자료

1. 제타 위키, 리눅스 파일 변경일 확인, https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%ED%8C%8C%EC%9D%BC_%EB%B3%80%EA%B2%BD%EC%9D%BC_%ED%99%95%EC%9D%B8
2. 오늘도다름없이어제처럼님 블로그, ls로 하위디렉토리까지 파일 검색하기, https://m.blog.naver.com/mrgoguma/140031387298
3. 마푸의 컴퓨팅 블로그, [리눅스] ctime, mtime, atime 다른점 설명, https://mapoo.net/os/oslinux/%eb%a6%ac%eb%88%85%ec%8a%a4-ctime-mtime-atime-%eb%8b%a4%eb%a5%b8-%ec%a0%90-%ec%84%a4%eb%aa%85/
4. man7org, find(1) — Linux manual page, https://man7.org/linux/man-pages/man1/find.1.html

 

 

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band