마지막 4자를 제거하는 정규식

마지막 4자를 제거하는 정규식

.wav 파일을 .mp3 파일로 변환할 때 다음 스크립트 줄에서 정규식을 사용하여 마지막 4자를 제거하는 방법이 있습니까? 현재 내 한 줄 스크립트는 다음으로 끝나는 파일을 생성합니다..wav.mp3

for i in *.wav; do avconv -i "$i" "$i".mp3;done 

다음 출력을 생성합니다

    Sanctify, Separate, & Success Success.wav.mp3
    There four types of love.wav.mp3
    Theres too much love to let you fail.wav.mp3

답변1

정규식이 필요하지 않으며 Bash를 사용하고 싶습니다.매개변수 확장전송에서 파일 확장자를 제거하십시오.

for i in *.wav; do avconv -i "$i" "${i%.*}".mp3; done

여기서는 "${i%.*}"패턴으로 확장됩니다.매개변수의 끝, *즉 가장 짧은 일치 항목을 삭제한 후 모든 항목( )으로 정의됩니다...wav

를 사용하여 리터럴 대체를 수행할 수도 있습니다 "${i/.wav/.mp3}".

관련 정보