-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcheckoverlap.py
More file actions
22 lines (21 loc) · 1.01 KB
/
checkoverlap.py
File metadata and controls
22 lines (21 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Load files and store their lines as sets
files = ['/home/marthijnvd/master/docs/generated_configs/proftpd_25.conf',
'/home/marthijnvd/master/docs/generated_configs/proftpd_52.conf',
'/home/marthijnvd/master/docs/generated_configs/proftpd_57.conf',
'/home/marthijnvd/master/docs/generated_configs/proftpd_74.conf',
'/home/marthijnvd/master/docs/generated_configs/proftpd_81.conf']
sets = []
for filename in files:
with open(filename, 'r') as f:
sets.append(set(line.rstrip('\n') for line in f))
# Print difference between each pair
with open('differences.txt', 'w') as out:
for i in range(5):
for j in range(i+1, 5):
difference = sets[i] - sets[j]
out.write(f"Lines in {files[i]} but not in {files[j]}: {len(difference)} items\n")
if difference:
out.write("Different lines:\n")
for line in sorted(difference):
out.write(f"{line}\n")
out.write("\n")