Bash ${file%/*}将空格替换为下划线
通过一个简单的脚本将mp3转换为ogg文件 但是:当我构造新的路径名和文件名时 与 带有空格的文件-/路径名将使用下划线创建 我看不出有什么理由。。。欢迎大家帮忙Bash ${file%/*}将空格替换为下划线,bash,filenames,spaces,dirname,Bash,Filenames,Spaces,Dirname,通过一个简单的脚本将mp3转换为ogg文件 但是:当我构造新的路径名和文件名时 与 带有空格的文件-/路径名将使用下划线创建 我看不出有什么理由。。。欢迎大家帮忙 Appelgebak默认情况下,mp32ogg会自动将输出文件名中的空格(以及许多其他非字母字符)替换为下划线。要抑制此行为,请传入(未记录的)--no replace标志。Hm。使用mp32ogg--verbose--delete--no_replace--quality=0--rename=“${file%/*}/basename
Appelgebak默认情况下,
mp32ogg
会自动将输出文件名中的空格(以及许多其他非字母字符)替换为下划线。要抑制此行为,请传入(未记录的)--no replace
标志。Hm。使用mp32ogg--verbose--delete--no_replace--quality=0--rename=“${file%/*}/basename”${file###*.
”$1|退出1导致:mp32ogg v0.11-gentoo r2(c)2000-2002年Nathan Walp根据艺术许可证条款无担保发布未知选项:no_replace
@user605447:显然它的--no replace
,而不是--no_replace
。也许亚当·罗森菲尔德忘了在帖子上设置--no replace
选项;-)@乔索:谢谢,现在纠正了打字错误。
# set the 'file' variable first
file="$1"
# get extension; everything after last '.'
ext=${file##*.}
mp32ogg --verbose --delete --quality=0 --rename="${file%/*}/`basename "$file" .${file##*.}`" "$1"|| exit 1