Bash shell 脚本从文件名中查找丢失的文件

标签 bash shell scripting

我有一个文件夹,应包含 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

关于Bash shell 脚本从文件名中查找丢失的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58246795/

相关文章:

bash - Bash 脚本中范围内的随机数

bash - 如何在函数 while 循环中处理 return ?

bash - grep 数字范围

bash - 如何不将此处文件回显到终端?

node.js - 在 OSX 上安装和运行 MongoDB

azure - 如何编写 docker 镜像开发来为 Azure 容器注册表暂存升级脚本?

bash - 通过脚本更改 AIX 密码?

python - 向 DNS 查询时欺骗 src ip 地址

Python - list.remove(x) x 不在列表中

linux - 如何根据文件 2 中的某些数字范围使 awk 将文件 1 中的行与文件 2 中的行匹配