有多种工具可以提取EXIF数据,甚至可以根据 EXIF 数据操作图像文件。
使用exiftool,您可以根据 exif 属性重命名文件。特别是,您可以轻松地将文件分派到以特定 exif 属性命名的子目录中。然后,您可以查看结果并删除包含您闲暇时不感兴趣的文件的目录。
exiftool '-Directory<${Model}/%d' -r .
Run Code Online (Sandbox Code Playgroud)
Exiftool 使这变得简单,但为了说明,这里有一个 shell 片段,它使用exif根据 EXIF 属性将 jpeg 文件分类到子目录中。属性值不得包含/
字符。您可以-t
通过运行找到该选项的编号exif -l
。
for f in *.jpg; do
v=$(exif -m -t 0x0110 -- "$f" 2>/dev/null)
if [ -n "$v" ]; then
mkdir -p -- "$v"
mv -- "$f" "$v"
fi
done
Run Code Online (Sandbox Code Playgroud)
使用Exiv2,将v=…
行替换为v=$(exiv2 -g Exif.Image.Model -Pv -- "$f")
。
如果您的文件已经组织在目录树中,请调用find
以递归方式遍历目录树。假设您的所有图像都位于名为unknown
. 下面的代码段为每个图像模型创建一个目录并复制文件,镜像原始目录层次结构。
find unknown -name '*.jpg' -exec sh -c '
v=$(exif -m -t 0x0110 -- "$f" 2>/dev/null)
[ -n "$v" ] || exit
d=${0#*/}; d=${d%/*}
mkdir -p -- "$v/$d"
mv "$0" "$v/$d"
' {} \;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1984 次 |
最近记录: |