다음과 같은 이름의 파일이 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
모두 잘되면 마지막에 추가하세요.