.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%.*}"
다음의 패턴으로 확장됩니다.매개변수의 끝, 가장 짧은 일치 항목을 삭제한 후 everything( *
) 에 의해 정의된 대로, 즉 ..
.wav
로 문자 그대로 대체할 수도 있습니다 "${i/.wav/.mp3}"
.