Tomato's BLOG

[리눅스] 파일이름 일괄 변경 - find, mv, rename 본문

개발/리눅스

[리눅스] 파일이름 일괄 변경 - find, mv, rename

토마토Tomato 2021. 2. 6. 00:27

first를 second로 치환해보자.

find

이 방법보다는 아래 rename명령어가 더 간단함

하위 디렉토리 파일 내용 치환

파일 내부 모든 first를 변경하는 명령어이다.

$ find ./ -type f | xargs sed -i 's/first/second/g'

하위 디렉토리, 파일 이름 변경

파일 이름만 변경하는 명령어이다.

$ find ./ -name "*first*"  | sed -e 'p' -e "s/first/second/g" |xargs -n 2 mv

mv

파일 혹은 디렉토리 이름 변경/이동

$ mv first.f second.f

rename

이 명령어는 기본적으로 깔려있지는 않음
sudo apt-get install rename (ubuntu 기준)으로 설치해야 사용가능
다른 OS는 여기 참고

파일명 일괄 변경

  • 첫 번째 방법

      $ rename 변경전파일명 변경후파일명 대상파일
      $ rename test test0 test?
  • 두 번째 방법

      $ rename 's/파일명/변경할파일명/' 대상파일필터
      $ rename 's/first/second/' ./*
      $ rename 's/first/second/g' ./*

    s/first/second/g에서 g를 붙이면 모든 first에 대해 변경, 안 붙이면 처음으로 등장하는 first만 변경.

출처1: 신불사 - 신현호라 불리는 사나이
출처2: 세상에 맨몸으로 뛰어들다

Comments