기본 이름은 지정된 파일 이름에서 디렉터리 및 후행 접미사를 제거하는 명령줄 유틸리티입니다.
basename 명령을 사용
basename 명령은 다음 두 가지 구문 형식을 지원합니다.
basename NAME [SUFFIX]
basename OPTION... NAME...
기본 이름은 파일 이름을 사용하고 파일 이름의 마지막 구성 요소를 인쇄합니다. 선택적으로 후행 접미사를 제거할 수도 있습니다. 이 명령은 몇 가지 옵션만 허용하는 간단한 명령입니다.
가장 기본적인 예는 선행 디렉터리를 제거한 상태에서 파일 이름을 인쇄하는 것입니다.
basename /etc/passwd
# passwd
basename 명령은 다음과 같은 모든 후행 / 문자를 제거합니다.
basename /usr/local/
basename /usr/local
# local
# local
두 명령 모두 동일한 출력을 생성합니다.
기본적으로 각 출력 라인은 새 줄 문자로 끝납니다. NUL로 줄을 끝내려면 -z(--0) 옵션을 사용합니다.
다양한 인수
basename 명령은 여러 이름을 인수로 사용할 수 있습니다. 이렇게 하려면 -a(--multiple) 옵션을 사용하여 명령을 호출한 다음 공백으로 구분된 파일 목록을 호출합니다.
예를 들어 /etc/passwd 및 /etc/shadow의 파일 이름을 가져오려면 다음을 실행합니다.
basename -a /etc/passwd /etc/shadow # passwd # shadow
후행 접미사를 제거
파일 이름에서 후행 접미사를 제거하려면 접미사를 두 번째 인수로 전달합니다.
basename /etc/hostname name
# host
일반적으로 이 기능은 파일 확장명을 제거하는 데 사용됩니다.
basename /etc/sysctl.conf .conf
# sysctl
후행 접미사를 제거하는 또 다른 방법은 접미사를 -s(--suffix=CJ) 옵션으로 지정하는 것입니다.
basename -s .conf /etc/sysctl.conf
# sysctl
이 구문 양식을 사용하면 여러 이름에서 후행 접미사를 제거할 수 있습니다.
basename -a -s .conf /etc/sysctl.conf /etc/sudo.conf
# sysctl
# sudo
예
다음은 bash for 루프에서 basename 명령을 사용하여 파일 확장자를 ".jpeg"에서 ".jpg"로 대체하여 현재 디렉터리에서 ".jpeg"로 끝나는 모든 파일의 이름을 변경하는 예를 보여 줍니다.
for file in *.jpeg; do
mv -- "$file" "$(basename $file .jpeg).jpg"
done
기본 이름을 호출하는 대신 bash를 셸로 사용하는 경우 셸 매개 변수 확장을 사용하여 후행 확장자를 제거할 수 있습니다.
기본 이름 명령은 이름에서 선행 디렉터리 및 후행 접미사를 제거합니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : Chattr 명령어, 사용 방법, 예제 (파일 속성) (0) | 2023.01.04 |
---|---|
Linux : Ubuntu 20.04 : PHP 8 설치 방법, 예제, 명령어 (0) | 2023.01.03 |
Linux : Ubuntu 20.04 : Flask 설치 방법, 예제, 명령어 (1) | 2022.12.31 |
Linux : who : 사용 방법, 명령어, 예제 (0) | 2022.12.30 |
Linux : Ubuntu 20.04 : Python 3.9 설치 방법, 예제, 명령어 (0) | 2022.12.29 |