답변:
rename하나의 파일 이름 만 바꾸는 데 사용해서는 안되며 대신 mv(1)을 사용하십시오.
또한 whitepsace를 피하려면 앞에 접두사를 붙이십시오 \.
"Ubuntu One" → Ubuntu\ One
당신의 명령은
mv bla\ bla.txt blabla.txt
백 슬래시는 bash에게 다음 문자가 문자 공간 등의 방식으로 \a' 예 를 들어 'bell ' \과 같이 특별하다고 말합니다
자세한 내용은 man ascii(7) 참조
또는 올바른 명령을 사용하고 mv있으므로 공백이 많은 경우 파일 이름을 인용 할 수 있습니다.
mv "bla bla.txt" blabla.txt
(이것은 bla\ \ \ \ bla.txt탈출 형식 일 것입니다)
bash에서 따옴표로 묶인 문자열 (작은 따옴표 나 큰 따옴표)은 단일 인수로 취급되는 반면 따옴표없는 문자열은 다음과 같이 여러 인수로 나뉩니다.
["mv", "bla", "bla.txt", "blabla.txt", ]그리고 mv기대합니다 :
["mv", "source", "destination", ]참고 : 'mv'와 파일 이름의 처음 몇 문자를 입력하고 누르면 TAB파일 이름의 이스케이프 버전이 제공되므로 이름을 빠르고 쉽게 바꿀 수 있습니다.
rename맨 페이지 의 예제에서 설명한 것처럼 정규식을 사용하여 파일 이름 바꾸기를 일괄 처리하는 데 사용됩니다 .
rename 's/\.bak$//' *.bak
"* .bak"와 일치하는 모든 파일에서 .bak (문자열 [$]의 끝 부분)를 제거합니다.
rename 은 대량 이름 바꾸기를위한 특수 명령입니다. 직관적으로 우리가 일반적으로 "이름 바꾸기"라고 부르는 것은 실제로 새로운 이름으로의 "이동"입니다.
mv 'bla bla .txt' blabla.txt
A=bla ; mv "$A $A .txt" blabla.txtbla bla .txt를 이동하지만 A=bla ; mv '$A $A .txt' blabla.txt실제로 "$ A $ A .txt"라는 파일을 찾습니다. 어느 쪽이든 귀하의 모범을 위해 일할 것입니다.