** 다양한 파일명을 변경하는 경우들이 있겠지만 이번 글에서는 특정 단어를 추가하거나 특정 단어를 다른 단어로 변경하는 일괄 처리에 대해서 다루어보았습니다.
일반적으로 디렉토리에 있는 모든 파일을 다른 폴더로 옮기려고 할 때 mv 라는 명령어를 사용합니다. 파일을 옮길 때 mv 명령어를 이용하면 이동과 동시에 파일명도 변경해줄 수 있습니다. 일반적으로 아래와 같은 명령어로 수행할 수 있습니다.
mv <file_path> <new_file_path>
만약 여러개의 파일을 mv해주고, 파일명을 변경해주고 싶다면 for 구문을 사용해주면 됩니다. 아래의 예시로 어떻게 하는지 알아보겠습니다. 모든 파일에 path는 옮기지 않고, 파일명 변경만 해준 경우입니다. 모든 파일에 new_를 붙여서 옮기는 명령어 입니다.
for file in *
do mv "$file" "new_$file"
done
만약 new_라는 단어를 다시 다른 단어로 변경하기 위해서는 아래와 같이 할 수 있습니다.
for file in new_*.jpg; do
mv "$file" "${file/new_/word_}"
done
"${file/new_/word_}"에서 변수 치환을 통해 new_ 자리에 word_ 를 입력하였습니다.
위의 동작은 rename이라는 툴을 통해서도 수행할 수 있습니다. rename은 파일명을 변경하는데에 더 고급 기능을 제공하는 명령어 툴로 아래와 같이 설치 후에 사용할 수 있습니다.
sudo apt install rename
rename을 사용한 명령어는 아래와 같습니다.
rename 's/new_/word_' new_*
훨씬 간단한 명령어로 같은 동작을 수행할 수 있습니다.
'Programming > linux' 카테고리의 다른 글
리눅스 터미널(linux terminal)에서 텍스트 색상(text color) 바꾸는 법 (5) | 2024.03.21 |
---|---|
[Linux 리눅스] 대용량 이미지 데이터셋 GUI에서 빠르게 탐색하는 방법: gthumb (0) | 2023.12.21 |
Window에 Linux설치 - 멀티부팅 방법 (Ubuntu 20.04 LTS Desktop) + 그래픽드라이브/듀얼모니터 인식 안됨 문제 해결 (2) | 2023.12.19 |
리눅스 컴퓨터에 외장하드 인식이 안될 때 해결법 (0) | 2023.12.18 |
aihubshell API key로 데이터 다운로드 받기 (0) | 2023.12.14 |