我有一个文件夹,里面装满了专有格式的二进制文件,我必须使用笨拙的软件将其导出到文本文件,最后我得到了一个装满文件对的文件夹:
myfile1.bin
myfile1.bin.txt
myfile2.bin
myfile2.bin.txt
myfile3.bin
myfile3.bin.txt
我不断将新的 bin 文件推送到服务器,因此 myfile3.bin
的文件大小可能发生了变化,我现在有一个新的 myfile4.bin
。所以我需要定期检查 txt
文件中哪些 bin
文件发生了变化(大小/时间戳),以及哪些 bin
文件没有 txt
文件并将它们写入 changed.txt 文件中,我可以使用软件加载该文件以转换新文件。
我想我必须保留文件夹中当前文件的列表(包括时间戳和大小),并将 10 分钟后的文件夹内容与保存的信息进行比较,以查看发生了什么变化。
非常感谢任何想法和帮助!
最佳答案
请检查以下是否有帮助:
#!/bin/bash
while [ 1 ]
do
ls -ltr /dir_to/Monitor > out.txt # you can try ls -1l as well, depending upon the requirement
sleep 600
ls -ltr /dir_to/Monitor > out1.txt
if diff out.txt out1.txt > diff.txt; then
echo "Not Changed"
else
echo "Changed" # diff is changed
cp diff.txt diff_$(date +%s).txt #Copy the diff to a different file.
fi
done
关于linux - 比较二进制文件以导出文本文件并查找自上次导出后哪些二进制文件已更改或下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23664858/