使用bash脚本在特定文件夹和子文件夹中比较文件名

使用bash脚本在特定文件夹和子文件夹中比较文件名,bash,Bash,我想与bash脚本进行一些文件名比较,以确定文件是否应该运行压缩例程 在这里,我想做的是,查看上传文件夹和所有子文件夹(总共数百个文件夹),如果filenameA.jpg和filenameA.orig都存在于同一个文件夹中,这意味着它之前已被压缩,无需再次压缩,否则将压缩filenameA.jpg文件 这种方法只压缩较新添加的文件,而不压缩以前已压缩的文件 有人能告诉我如何使用bash脚本执行if/loop语句吗?我计划通过Cron作业运行它 谢谢您的帮助。使用find递归搜索所有名为*.jpg

我想与bash脚本进行一些文件名比较,以确定文件是否应该运行压缩例程

在这里,我想做的是,查看上传文件夹和所有子文件夹(总共数百个文件夹),如果filenameA.jpg和filenameA.orig都存在于同一个文件夹中,这意味着它之前已被压缩,无需再次压缩,否则将压缩filenameA.jpg文件

这种方法只压缩较新添加的文件,而不压缩以前已压缩的文件

有人能告诉我如何使用bash脚本执行if/loop语句吗?我计划通过Cron作业运行它


谢谢您的帮助。

使用
find
递归搜索所有名为*.jpg的文件

对于返回的每个文件,您将检查相应的“.orig”文件,并基于not compress的结果

像这样的事情也许应该让你开始:

find UPLOAD -type f -name '*.jpg' | while read JPG
do
   ORIG="${JPG%.jpg}.orig"
   if [ -s ${ORIG} ]
   then
      echo "File ${JPG} already compressed to ${ORIG}"
   else
      echo "File ${JPG} need compressing ..."
      gzip -c ${JPG} > ${ORIG}
   fi
done

谢谢邓,我一定会试试的。