我想从一个非常大的目录中删除所有坏的 tiff。命令行工具“tiffinfo”可以轻松识别它们:
tiffinfo -D *
这将有这样的输出:
00074000/74986.TIF: Cannot read TIFF header.
如果 tiff 文件已损坏。如果发生这种情况,我想获取文件并将其移动到不同的目录:bad_images。我尝试在这上面使用 awk,但到目前为止还没有奏效...... 谢谢!
最佳答案
假设“无法读取 TIFF header ”错误出现在标准错误上,并假设 tiffinfo
在标准输出上输出您不想要的其他数据,那么:
cd /path/to/tiffs
for file in `tiffinfo -D * 2>&1 >/dev/null | cut -f1 -d:`
do
echo mv $file /path/to/bad_images
done
删除 echo
以实际移动文件,一旦满意脚本将按预期工作。
关于linux - 如何对目录中的所有文件运行命令,并将 mv 运行到获得包含 'Cannot read TIFF header' 输出的不同文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31834657/