鉴于我在这里发布的问题的成功:查找空文件及其重复项,谢谢 Freeman 和 Mark Setchell,现在鼓励我提出另一个相关问题。在这种情况下,挑战是如果文件缺少合作伙伴,则删除该文件。
Tesseract 中的 text2image 工具有时根本无法生成 .box 文件。
这些文件应该显示为三元组,如下所示:
但是,当该工具无法生成 box 文件时,我得到的只是两个伙伴。
我想要的是删除那些缺少盒子伙伴的(gt.txt和.tif)文件,而不触及那些有伙伴的文件。
我希望描述清楚。
这是你想要的吗?
#!/bin/bash
#iterate over the files in the directory
for file in *.{tif,gt.txt}; do
#get the file name without extension
file_name="${file%.*}"
#checking if the corresponding box file exists
box_file="${file_name}.box"
if [ ! -f "$box_file" ]; then
#delete the files without a partner
rm "$file"
echo "Deleted $file"
fi
done
我无权测试此方法,但也请检查一下:
find . -type f -name "*.gt.txt" | awk -F".gt.txt" 'NR==FNR{a[$1];next} !($1 in a) {print $1".gt.txt\n"$1".tif"}' - | xargs rm