최근 내 랩톱에서 음악 MP3를 얻었지만 이름은 모두 "songtitle.mp3.mp3"폴더의 모든 파일의 이름을 셸 스크립트로 바꾸려면 어떻게합니까?
누구나 두 번째 .mp3 파일을 제거하는 방법을 알고 있습니까? 사전에 감사
최근 내 랩톱에서 음악 MP3를 얻었지만 이름은 모두 "songtitle.mp3.mp3"폴더의 모든 파일의 이름을 셸 스크립트로 바꾸려면 어떻게합니까?
누구나 두 번째 .mp3 파일을 제거하는 방법을 알고 있습니까? 사전에 감사
awk
및 파이프 결과를 그것을 할 수
:
ls | awk -F. '{print "mv "$0" "$1"."$3}' | sh
힌트 : 당신은 파일 이름에 더 .
이없는 경우에만에서 (작동이 솔루션 당신의 노래 제목에있는 경우). http://manpages.ubuntu.com/manpages/gutsy/man1/mmv.1.html
#!/bin/sh
for i in *.mp3.mp3; do
j=`basename "$i" .mp3`
mv "$i" "$j"
done
부족, 여기에 사람의 페이지입니다
%
형태의 매개 변수 확장을 사용하십시오.
for f in *.mp3.mp3; do
mv "$f" "${f%.mp3}"
done
설명서는 bash
매뉴얼 페이지의 매개 변수 확장 섹션에서 찾을 수 있습니다.
bash
용액과 같은 용액이 트릭을해야합니다.
I 교체주의 (사용의 결과 실행 e
명령으로, 여기 sed
를 사용 할 수있는 가능성을 언급하고 싶습니다 : 첫 번째 일 것입니다 무슨 인쇄 라인의 끝에서 e
명령없이 시도를 실행). toto.mp3.mp3
:
ls -1 *.mp3.mp3 | sed 's/\(.+\.mp3\)\.mp3$/mv & \1/e'
그것은 예를 들어 .mp3.mp3
로 끝나는 현재 디렉토리에있는 모든 파일을 나열해야 할 것
. 문자열 toto.mp3.mp3
은 sed로 파이프되며 대신 mv toto.mp3.mp3 toto.mp3
이 대입되어 인쇄됩니다.
관련 질문 : [여러 패턴을 기반으로 파일의 이름을 바꾸는 더 나은 방법] (http://stackoverflow.com/a/25597051/2654678). –