我有两个文件。第一个有很多ID,第二个有ID。我想知道第一个文件中哪个ID不存在于第一个文件中。
我已经使用过这个命令:
diff -u total.log second.log | grep -E "^\+"
但我不确定这是否是最佳方式。
Total.log
1087
1119
1121
1944
1951
1966
2148
2162
2169
2188
2216
2322
2393
2533
2748
2763
2766
2772
2779
2783
2787
2789
2793
2795
2798
2801
2842
2858
2868
2871
2873
2875
2887
2892
2897
2900
2901
2912
2918
2951
2957
2974
2975
2991
2993
3006
3007
3050
3066
3089
3102
3106
3119
3122
3124
3125
3151
3153
3164
3165
3171
3173
3174
3175
3229
3234
3244
3253
3265
3283
3302
3304
3305
Second.log
1116
1119
1121
1700
1928
1942
1947
1961
1968
1969
2170
2171
2752
2776
2801
2807
2808
2818
2829
2853
2884
2889
2897
2899
2901
2902
2913
2936
2970
2973
2974
3045
3167
3183
3185
3186
3235
3244
3247
3303
3306
有人能帮助我吗?
谢谢:)
答案 0 :(得分:2)
grep
可以使用选项-f
:
grep -vFf total.log second.log
-F
告诉grep
模式不是正则表达式模式 - 它们是固定长度模式。 -v
否定了比赛。
答案 1 :(得分:1)
comm
是一个不错的工具。
comm -23 second.log total.log