如何删除 JPG 文件,但前提是匹配的 RAW 文件存在?
How to delete JPG files, but only if the matching RAW file exists?
在 debian 终端上,如果 .cr2 存在于同一文件夹中,我尝试删除文件夹和子文件夹的所有 .jpg。
假设他们有相同的名字。
123.jpg
123.cr2
我知道如何用查找命令删除所有.jpg。
find {PATH} -type f -name '*.jpg' -delete
但我如何添加条件(如果 .cr2 存在)
我找到了这个 10y topics 但它适用于 windows 和 python
您可以尝试类似的方法:
shopt -s globstar
for i in /path/**.jpg
do
RAW=${i%.jpg}.cr2
if [ -f "$RAW" ]
then rm "$i"
fi
done
如果您是 oneliners 的粉丝,您可以将脚本转换为类似以下内容:
shopt -s globstar; for i in /path/**.jpg; do [ -f "${i%.jpg}.cr2" ] && rm "$i"; done
在 debian 终端上,如果 .cr2 存在于同一文件夹中,我尝试删除文件夹和子文件夹的所有 .jpg。
假设他们有相同的名字。 123.jpg 123.cr2
我知道如何用查找命令删除所有.jpg。
find {PATH} -type f -name '*.jpg' -delete
但我如何添加条件(如果 .cr2 存在)
我找到了这个 10y topics 但它适用于 windows 和 python
您可以尝试类似的方法:
shopt -s globstar
for i in /path/**.jpg
do
RAW=${i%.jpg}.cr2
if [ -f "$RAW" ]
then rm "$i"
fi
done
如果您是 oneliners 的粉丝,您可以将脚本转换为类似以下内容:
shopt -s globstar; for i in /path/**.jpg; do [ -f "${i%.jpg}.cr2" ] && rm "$i"; done