2013-07-16 3 views
0

파일 이름을 "some string [blah] .srt"에서 "some.string.srt"로 변경해야합니다.bash에서 파일 이름 바꾸기에 실패했습니다

내가 사용

mv -v "$file" "$newfile.srt" 

$에이를 새가 점 대신 공백 $ 파일입니다.

나는 다음과 같은 오류가 발생합니다 : 나는 그것을 확인 작업 파일에서 [ㅋ] 부분을 제거하면 어떻게 든

dir content: 
total 715368 
-rwxr-xr-x 1 Dahan staff 43K Nov 29 2012 Some string S01E12[blah].srt* 
-rw-r--r-- 1 Dahan staff 349M Mar 26 20:42 Some.string.S01E12.avi 
newfilename: /Users/Dahan/dir1/Some.string.S01E12.srt 
file: /Users/Dahan/dir1/Some string S01E12[blah].srt* 
mv: rename /Users/Dahan/dir1/Some string S01E12[blah].srt* to /Users/Dahan/dir1/Some.string.S01E12.srt: No such file or directory 

: 여기

mv: rename dir1/Some string[blah].srt* to dir1/Some.string.srt: No such file or directory 

변수 값과 디렉토리의 내용이다.

어떤 생각을 잘못 했습니까?

+2

변수의 값과 디렉토리의 내용을 표시하십시오. –

+1

'[blah]'를 문자 클래스로 해석하는 것 같습니다.'['와']'앞에 \를 넣으십시오. – SethMMorton

+0

별표도 있습니다. @oridahan, 따옴표 안에 와일드 카드 문자를 넣을 수는 없습니다. –

답변

2

문제는 분명히 그렇게 ls -F 파일 이름에 별표를 추가하지 않습니다, 실행 권한을 가지고 있지 않기 때문에이 .AVI 파일 일 parsing ls

입니다.

관련 문제