帮助创建 bash 代码来比较两个不同的文件

帮助创建 bash 代码来比较两个不同的文件

目前,我在 Linux 终端中处理 bash 脚本来执行以下任务时遇到了一些挑战:

  1. 逐行比较两个不同文件的第三列中的值。
  2. 如果值不同,则将输入文件第二列中的标识符以及文件 1 和文件 2 中的相应值保存在第三个输出文件中,类似于提供的“所需的第一个输出”示例。
  3. 此外,创建第四个输出文件来统计每个唯一定性差异的出现次数,同时考虑顺序(例如:9690 0 ≠ 0 9690),同时忽略标识符。这在“所需的最后输出”示例中进行了说明。

非常感谢为实现这一目标提供的任何帮助或指导!

文件1

U   E100033877L1C016R01601996031        0   140 0:106
U   E100033877L1C023R03303214633        0   140 0:106
C   E100033877L1C022R01901579971        27996   140 27996:1 0:7 27996:23 0:75
C   E100033877L1C023R02603225407        27996   140 0:32 27996:23 0:7 27996:1 0:3 27996:4 0:36
C   E100033877L1C020R02602000209        0   140 0:106
C   E100033877L1C023R03303214633        27996   140 27996:3 0:4 27996:5 0:94
C   E100033877L1C023R03101740491        9690    140 9690:13 0:8 9690:7 0:13 9690:9 0:56
C   E100033877L1C006R00200498634        9690    140 9690:71 0:35
C   E100033877L1C009R03603066069        27996   140 0:50 27996:2 0:1 27996:10 0:6 27996:11 0:26
C   E100033877L1C005R03300436825        27996   140 27996:3 0:6 27996:3 0:3 27996:5 0:86

文件2

U   E100033877L1C016R01601996031        0   140 0:106
U   E100033877L1C023R03303214633        0   140 0:106
C   E100033877L1C022R01901579971        27996   140 27996:1 0:7 27996:23 0:75
C   E100033877L1C023R02603225407        27996   140 0:32 27996:23 0:7 27996:1 0:3 27996:4 0:36
C   E100033877L1C020R02602000209        27996   140 0:19 27996:4 0:3 27996:1 0:7 27996:23 0:49
C   E100033877L1C023R03303214633        27996   140 27996:3 0:4 27996:5 0:94
U   E100033877L1C023R03101740491        0   140 0:106
U   E100033877L1C006R00200498634        0   140 4840:106
C   E100033877L1C009R03603066069        4840    140 0:50 27996:2 0:1 27996:10 0:6 27996:11 0:26
C   E100033877L1C005R03300436825        27996   140 27996:3 0:6 27996:3 0:3 27996:5 0:86

期望的第一输出

E100033877L1C020R02602000209        0   27996
E100033877L1C023R03101740491        9690    0   
E100033877L1C006R00200498634        9690    0   
E100033877L1C009R03603066069        27996   4840

期望的最后输出

2   9690    0   
1   0   27996
1   27996   4840

相关内容