使用:
操作系统:Kubuntu 22.04.3
LTS x86_64
diff (GNU diffutils)3.8
版权所有 (C) 2021 自由软件基金会,Inc.
pv1.8.0
版权所有 2023 Andrew Wood,pv = Pipe Viewer
上面显示的命令:
neofetch --stdout |grep 'OS:'
diff --version
pv --version
。
下面的 cmd1 运行正常:
time diff -rq --no-dereference "$dir1" "$dir2" && echo "no difference" || echo "differences!"
。
如果上面的 cmd1 需要几个小时来比较两个目录,
那么最好(但不是必须)
对完成比较的时间进行估计。ETA
~ 估计到达时间 = 比较完成。
。
下面的 cmd2 不起作用:
diff -rqs "$dir1" "$dir2" |pv -s $(du -bc "$dir1" |tail -1 |cut -f 1) |grep -v "^Files .* identical$" > /tmp/logfile_diff_compare1.txt
使用上面的 cmd2,
如果所有比较都正常,
那么输出到文本文件的内容是0
字节,这意味着
/tmp/logfile_diff_compare1.txt
是一个零字节文本文件 = 没有差异 = 100%比较正常。
。
注1:
经过3小时的比较,cmd2的输出完成了大约40%:
# 50.4MiB 1:12:57 [0.00 B/s] [> ] 0% ETA 0:00:00
。
注2:
ETA 0:00:00
但应该大约2小时
。
注3:
1263856953223 = bytes in source directory dir1 or
1263.9 GB = in source directory dir1 or
1.2 TB = in source directory dir1
。
参考:
更多进展和 ETA 技巧
https://assafmo.github.io/2018/06/16/more-progress-eta.html
➜ joincap *.pcap | pv -s $(du -bc *pcap | tail -1 | cut -f 1) > merged.pcap
1.16GiB 0:00:04 [ 275MiB/s] [============> ] 38% ETA 0:00:06
。
问题:如何命令 pv (Pipe Viewer) 与 diff 一起工作?
--