bash - Bash shell 脚本从文件名中查找丢失的文件
问题描述
我有一个应包含 1485 个文件的文件夹,名为 PA0001.png、PA0002.png ... 直至 PA1485.png
其中一些丢失了,我想编写一个能够识别丢失的shell脚本并将它们作为列表打印在 .txt 文件中(最好没有前导字符串 PA 和 .png 扩展名,但使用前导零(如果有)
我不知道如何继续,也许使用awk?但我仍然是一个菜鸟......任何帮助将不胜感激!
解决方案
您可以使用 bash 循环获取丢失文件的序列号列表
# Redirect output, per answer
exec > file.txt
for ((i=1 ; i<=1485 ; i++)) ; do
# Convert to 4 digit zero padded
printf -v id '%04d' $i
if [ ! -f "PA$id.png" ] ; then
echo $id
fi
done
推荐阅读
- sql - 不是试图计算课程参与者的 GROUP BY 表达式
- ruby-on-rails - 如何本地化 Rails 活动记录验证中的自定义错误消息?
- reactjs - 看不到通过数据映射的结果
- c++ - 为什么我的静态成员函数会在其他地方抑制文件级静态变量的存在?
- javascript - 如何在 JQuery 显示/隐藏方法中停止重复 div?
- express - ExpressJS - 处理多个页面/分页
- java - 目标运行时 WebSphere Application Server 传统版 V9.0 未定义
- python - 获得最大收益的算法
- filesystems - 在 ubifs 卷上应用增量补丁
- html - 具有三种状态的复选框