qmv

qmv

이미지로 가득 찬 디렉토리가 있습니다.

image0001.png
image0002.png
image0003.png
...

나는 그것들의 이름을 (예를 들어)로 바꾸는 농담을 원합니다.

0001.png
0002.png
0003.png
...

어떻게 해야 하나요?

답변1

데비안과 그 파생물에서는rename명령줄다음과 같이 작동합니다 sed.

  rename -v 's/image//' ./*.png

다음과 같은 내용도 있습니다 rename.util-linux

  rename -- image '' *.png

답변2

Bash 또는 기타 POSIX 호환 셸을 사용하는 경우:

for f in *.png; do
    mv -- "$f" "${f#image}"
done

답변3

zsh 셸에는 이라는 강력한 일괄 이름 바꾸기 명령이 있습니다 zmv.

zmv먼저 다음 명령을 활성화해야 합니다 (이 명령은 에 들어갑니다 ~/.zshrc).

autoload zmv

기본 구문은 입니다 zmv PATTERN REPLACEMENT. 패턴은 쉘 glob 표현식입니다. 패턴의 특정 부분을 괄호로 묶을 수 있습니다. 대체 텍스트에는 패턴의 N번째 괄호 그룹을 참조하는 등이 $1포함될 수 있습니다. $2예를 들어:

zmv 'image(*.png)' '$1'

패턴의 와일드카드와 일치하도록 zsh 등을 자동으로 정의 $1하도록 요청할 수도 있습니다 .$2

zmv -w 'image*.png' '$1.png'

답변4

qmv

이 명령은 탭으로 구분된 2열의 파일 이름 목록을 표시하는 편집기를 qmv엽니다 . renameutils두 열 모두에 동일한 파일 이름을 사용하여 행당 하나의 파일 이름을 표시합니다. 오른쪽 열은 파일의 새 이름을 나타냅니다.
변경하려면 오른쪽에서 이름을 수정하세요. 이 예에서는 :%s/...시각적 차단 모드가 도움이 됩니다.

편집기의 파일 이름

$ qmv *.png

편집기에서:

image0001.png           image0001.png
image0002.png           image0002.png
image0003.png           image0003.png         
~                                             
~                                             
~                                             
~                                             
"/tmp/user/1000/qmvxWyVMs" 3L, 93C

오른쪽 열의 이름을 편집합니다. (시각적 블록 모드를 사용하여
모든 행에서 접두사를 제거합니다.)image

image0001.png           0001.png
image0002.png           0002.png
image0003.png           0003.png         
~                                             
~                                             
~                                             
~                                             
:wq

로그 이름 바꾸기:

image0001.png -> 0001.png
image0002.png -> 0002.png
image0003.png -> 0003.png

(예: 우분투 apt-get install renameutils:)

관련 정보