반응형
부제: 경로에서 파일명만, 또는 상위 디렉토리만 떼어내기
basename /var/log/syslog # syslog
basename /a/photo.tar.gz .gz # photo.tar (접미사 제거)
dirname /var/log/syslog # /var/log
$ basename /var/log/syslog
syslog
$ dirname /var/log/syslog
/var/logbasename은 경로에서 마지막 파일명만, dirname은 그 앞의 디렉토리 경로만 남긴다.
rev+cut 트릭 없이 경로를 안전하게 쪼갤 수 있다.
스크립트에서 파일명·확장자·상위 폴더를 다룰 때 쓰는 표준 도구다.
이렇게도 쓴다
확장자를 떼어 파일 이름만 얻는다.
basename photo.jpg .jpg
find 결과에서 파일명만 뽑는다(xargs 조합).
find . -name '*.log' | xargs -n1 basename
스크립트가 자기 위치로 이동한다.
cd "$(dirname "$0")"
여러 경로의 파일명을 한 번에 뽑는다(-a).
basename -a /a/x.txt /b/y.txt반응형
'명령어 > Linux' 카테고리의 다른 글
| [리눅스] xxd 바이너리를 16진수로 들여다보기 (0) | 2026.07.14 |
|---|---|
| [리눅스] numfmt 숫자를 사람이 읽기 좋은 단위로 (0) | 2026.07.14 |
| [리눅스] shuf 줄을 무작위로 섞거나 표본 뽑기 (0) | 2026.07.14 |
| [리눅스] fmt 문단 텍스트를 지정 폭으로 재배치 (0) | 2026.07.14 |
| [리눅스] fold 긴 줄을 지정 폭으로 접기 (0) | 2026.07.14 |