首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用GNU Bash查找特定类型的文件而不中继文件扩展名?

如何使用GNU Bash查找特定类型的文件而不中继文件扩展名?
EN

Stack Overflow用户
提问于 2022-01-30 17:17:54
回答 1查看 20关注 0票数 0

我有许多没有名字扩展分散在子目录中的pdf文件。这使我的书目软件无法组织它们。我希望识别这些文件,在一个新目录中收集它们,并在那里添加缺少的.pdf扩展名。

EN

回答 1

Stack Overflow用户

发布于 2022-02-10 20:05:31

正如注释中所述,您可以使用核心linux工具- findfile命令。下列工作人员应能发挥作用:

代码语言:javascript
运行
复制
find your_starting_path -print0 |xargs -0 file |grep 'PDF document' > potential_pdfs.txt

然后,您可以验证您的potential_pdfs.txt文件,如果所有找到的文件看起来合理,并最终清理该文件。最后,您可以使用该文件作为清理脚本的输入:

代码语言:javascript
运行
复制
targetdirectory=some_path_for_pdfs
cat potential_pdfs.txt |awk -F: '{print $1}' | while read filename; do 
 base=$(basename "$filename")
 cp -v "$filename" "$targetdirectory/$base.pdf"
done

最终,您可能希望使用mv删除原始文件。小心移除它们。这个脚本不适用于名字中包含:的文件,因为您需要稍微调整一下它。

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

https://stackoverflow.com/questions/70917039

复制
相关文章

相似问题

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