Python 3.x 比较两个文本文档中的数字,如果差异太大,则打印出来

Python 3.x 比较两个文本文档中的数字,如果差异太大,则打印出来,python-3.x,bash,sed,diff,Python 3.x,Bash,Sed,Diff,我得到了两个具有以下结构的文本文件。 一个数字,然后是一些空格和文件路径 --- File 1 --- 1198464 ./aaa/file_A 6345 ./bbb/file_B 24345 ./bbb/file_C 2345212 ./ccc/file_D 92315 ./ddd/file_E 852217 ./ddd/file_F --- File 2 --- 1198464 ./aaa/file_A 1234 ./bbb/file_B 24340 ./bbb/

我得到了两个具有以下结构的文本文件。 一个数字,然后是一些空格和文件路径

--- File 1 ---
1198464 ./aaa/file_A
   6345 ./bbb/file_B
  24345 ./bbb/file_C
2345212 ./ccc/file_D
  92315 ./ddd/file_E
 852217 ./ddd/file_F

--- File 2 ---
1198464 ./aaa/file_A
   1234 ./bbb/file_B
  24340 ./bbb/file_C
 452217 ./ddd/file_F
现在,我想比较这两个文件,只打印出两个文档中存在的文件名,其中数字的差异大于“8”。 在上述情况下,应打印以下内容:

file_B
file_F
由于24345和24340之间的差值小于8,因此不会打印文件C

awk -F[\/.] 'NR==FNR { map[$NF]=$1 } NR!=FNR { gsub(" ","",$1);if ((map[$NF] -$1)>8) { print $NF }  }' File1 File2

将字段分隔符设置为/或。首先处理File1(NR==FNR)创建一个数组(map),最后一个字段(NF-file name)作为索引,并将值的大小设置为。然后,对于第二个文件(NR!=FNR),用gsub删除所有空格,然后当大小差异大于8时,打印最后一个字段(文件名)

请在您的问题中添加您的努力,这是非常鼓励的。