일괄 이름 바꾸기 작업에서 파일 이름의 숫자를 어떻게 이동합니까? 다음과 같은 2000

지난 몇 시간 동안 파일 이름을 바꾸는 방법을 알아 내려고 노력했습니다.

다음과 같은 2000 파일이 있습니다.

file.1.pdb
file.2.pdb
file.3.pdb

이 파일들의 이름을 다음과 같이 바꾸고 싶습니다 :

file.pdb.1
file.pdb.2
file.pdb.3


답변

rename설치 한 경우 사용할 수 있습니다

rename -n 's/(\.\d+)\.pdb$/.pdb$1/' *.pdb   # just watch what WOULD happen
rename    's/(\.\d+)\.pdb$/.pdb$1/' *.pdb   # actually rename the files

명령 rename을 통해 설치할 수 있습니다

sudo apt install rename

답변

mmv(와일드 카드 패턴으로 여러 파일 이름 바꾸기) 통해 쉽게 이해할 수 있습니다.

mmv '*.*.*' '#1.#3.#2' *.pdb

또는 zmvzsh쉘; 이름을 바꿀 수있는 모듈입니다. ZMV 예 참조 :

zmv -w '*.*.*' '$1.$3.$2' *.pdb

답변

펄 사용하기 rename:

rename -n 's/(\.\d+)(\.pdb)/$2$1/' *.pdb

빠른 설명 :

  • *.pdb로 끝나는 모든 파일을 일치시킵니다 .pdb. (껍질로 완성)
  • (\.\d+)리터럴 점을 찾은 다음 하나 이상의 10 진수를 찾습니다. Parens는 일치 그룹을 만듭니다.
  • $2$1 첫 번째와 두 번째 일치 그룹을 반대로 바꿉니다.
  • -n동작 없음 (시뮬레이션). 출력이 양호하면이 플래그없이 명령을 다시 실행하십시오.

답변

이 스크립트를 사용할 수 있습니다 :

for i in `seq 1 2000`; do
mv file.$i.pdb file.pdb.$i
done

또는이 복사 붙여 넣기 친화적 인 명령 :

for i in `seq 1 2000`; do mv file.$i.pdb file.pdb.$i; done

위의 명령을 사용하려면 모든 2000 파일을 하나의 폴더에 넣고 해당 디렉토리에서 터미널을 연 다음 위의 명령을 실행하십시오.


답변

최근 기본 파일 관리자 인 노틸러스가 배치 이름 바꾸기 대화 상자를 받았습니다. 원하는 것을 할만큼 강력하지는 않습니다. 그러나 운 좋게도 설치할 수있는 대체 파일 관리자 인 thunar가 있습니다. Thunars 이름 바꾸기 대화 상자를 사용하면 GUI를 사용하여 원하는 작업을 수행 할 수 있습니다.

먼저 설치 thunar :

sudo apt install thunar

thunar를 시작하고 파일이있는 디렉토리로 이동하십시오. 그런 다음 모두 선택하십시오. 를 누릅니다 F2.

대화 상자가 열리면 모든 파일을 다시 선택하십시오. 모드를 “검색 및 바꾸기”및 “이름 및 접미사”로 변경하십시오. “정규 표현식”을 확인하십시오. 이제 다음을 검색 및 바꾸기 패턴으로 사용하십시오.

file\.(.+)\.pdb

file.pdb.$1

마지막으로 이름 바꾸기 버튼을 클릭하십시오.

이 방법의 장점은 실제로 이름을 변경하기 전에 어떤 일이 발생하는지 시각적으로 미리 볼 수 있다는 것입니다.


답변

당신은 사용할 수 있습니다 rename에서 util-linux(명령이 호출이를위한 rename.ul우분투에서) :

rename.ul .pdb '' *
rename.ul "file." "file.pdb." *

먼저 .pdb확장을 끝에서 제거한 다음 다시 중간에 삽입합니다.