首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash循环中的坏文件名

bash循环中的坏文件名
EN

Stack Overflow用户
提问于 2018-10-18 20:49:24
回答 1查看 202关注 0票数 0

意图

我正试图遍历一个目录,并将所有9000多个pdf文件转换为png。

代码语言:javascript
复制
for i in *.pdf; do
    pdftoppm -f 1 -l 2 -png $i ${i%.pdf*}
done

问题

这个循环只适用于大约500种情况。当我在一些没有转换的pdf文件上手动调用pdftoppm时,它可以工作。

例如,循环中不工作的一个文件是w7hnp - FOO BAR 8-18-12 NOT FINAL DOC.pdf。当我使用制表符完成手动调用pdftoppm时,文件名包含转义字符:w7hnp\ -\ FOO\ BAR\ 8-18-12\ NOT\ FINAL\ DOC.pdf和命令工作得很好。

是否有办法确保空间被正确地转义?

我需要保留文件名,以便与数据库中的其他信息相匹配,因此,除非我能够创建一个具有新旧名称的字典,否则重命名将无法工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-18 20:52:32

您应该引用如下变量:"$i""${i%.pdf*}"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52882337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档