모든 파일 이름 바꾸기

모든 파일 이름 바꾸기

다음과 같은 이름의 파일이 800개 있습니다.

Centrum.text.201601-01
Centrum.text.201601-02 

한 달에 30일까지 01 등 12개월 전체.

내가 원하는 것은 모든 파일의 이름을 한 번에 다음과 같이 바꾸는 것입니다.

Centrum.201601-01.text
Centrum.201602-12.text

해당 달에도 마찬가지입니다.

가능하다면 한 줄로. 운영 체제 - rhel5

답변1

노력하다

 rename -n 's/Centrum.text.(.*)/Centrum.$1.text/' Cen*

시사

  • s/Centrum.text.(.*)/Centrum.$1.text/교체 표시(내부 패턴 이동)

그 다음에

rename  's/Centrum.text.(.*)/Centrum.$1.text/' Cen*

편집하다:

이름을 바꾸지 않은 경우 파일이 포함된 디렉터리에서

ls -1 | awk -F. '/Centrum/ {printf "mv %s.%s.%s %s.%s.%s\n",$1,$2,$3,$1,$3,$2}'

미리보기용

  • -1(한 줄에 하나의 파일) in은 ls유용하지 않을 수 있지만 ls에 대한 별칭이 있는 경우를 대비해서입니다.
  • /Centrum/파일 이름으로 필터링
  • {printf "mv %s.%s.%s %s.%s.%s\n",$1,$2,$3,$1,$3,$2}날짜와 텍스트 필드를 바꿉니다.

| bash모두 잘되면 마지막에 추가하세요.

관련 정보