시작 부분에 문자열을 추가하여 여러 파일 이름 바꾸기


21

디렉토리에있는 약 200 개의 파일에 대해 1_모든 파일 이름의 시작 부분에 문자열 을 추가하고 싶습니다 .

파일 이름은 예를 들어 DATASET_X_Y_Z결과는이어야합니다 1_DATASET_X_Y_Z.

Shell 스크립팅에 대해 잘 모르지만 터미널에 하나의 라이너가있을 수 있습니다.



@Rinzwind 링크는 다른 질문에 관한 것입니다. Macydanim 질문은 파일 내용이 아닌 파일 이름 앞에 문자열을 추가하는 것입니다.
jc

답변:


38
  • rename 's/^/1_/' * 현재 디렉토리의 모든 파일 이름 바꾸기

또는

  • rename 's/^/1_/' DATASET*와 현재 디렉토리의 시작에있는 모든 파일의 이름을 변경하기위한 DATASET이름에

설명 : 표현은 s/^/1_/말한다 : "파일 이름의 시작 부분 (즉 수단이 기호 -> 대체 ^) '와 1_"를.


귀하의 경우 rename상자의 밖으로하지 않습니다, 당신은 설치해야합니다 prename(PERL 이름 변경)을.
user1359

14

bash를 사용한다고 가정하면 현재 디렉토리 입력의 모든 파일 이름을 쉽게 바꿀 수 있습니다.

for i in *; do mv "$i" 1_"$i"; done

분명히 조심해서 가져 가십시오. 현재 디렉토리에서 '보이는'파일 ( '.'로 시작하지 않는 파일 이름)을 모두 다시 관리합니다.


이것은 내가 찾은 첫 번째 올바른 솔루션 .csv이며 파일의 하위 집합에 비슷한 것을 추가하는 데 사용할 수 있으며 대신 와일드 카드식이 변경되었습니다 *. +1
Zelphir Kaltstahl

와우! CLI에서 루프! 이것은 새로운 것입니다. :)
Raymond Wachaga

9

pyRenamer 을 사용할 수 있습니다 . 우분투 소프트웨어 센터에서 찾을 수 있습니다. 여기에 이미지 설명을 입력하십시오 원래 파일 패턴은 {X}이고 이름이 바뀐 파일 패턴은 1_ {1}이어야합니다.


내가 가장 좋아하는 프로그램 중 하나
Allan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.