bash for循环中的文件名不带扩展名
在这样的for循环中:
for f in `ls *.avi`; do echo $f; ffmpeg -i $f $f.mp3; done $ f将是完整的文件名,包括扩展名。例如,对于song1.avi,命令的输出将是song1.avi.mp3。有没有办法只有song1,没有。环境中的.avi? 我想象有办法使用awk或其他这样的工具,但我希望有一些更直接的东西。 谢谢
使用bash参数展开
${f%%.*} 请注意,您需要贪婪版本,因为文件名中有多个点。 从bash手册:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |