มีวิธีที่มีประสิทธิภาพมากกว่า แต่นี่คือ ก สารละลาย. ฉันไม่แน่ใจว่าคุณต้องการรวมไฟล์อย่างไร ดังนั้น ในโซลูชันนี้ บรรทัดที่แตกต่างจากไฟล์ 1 จะถูกเขียนไปยังไฟล์ใหม่ จากนั้นบรรทัดที่แตกต่างจากไฟล์ 2 จะถูกเขียนไปยังไฟล์ใหม่
#remove_dupes.py
จาก sys นำเข้า argv
infile1 = เปิด ( str(argv[1]), "r" )
infile2 = เปิด ( str(argv[2]), "r" )
พยายาม:
outfile = เปิด ( str (argv [3]), "w" )
ยกเว้น (IndexError):
outfile = เปิด ( 'ออก', "w" )
if1_arr = infile1.readlines()
if2_arr = infile2.readlines()
tmp_arr = if2_arr
ยกเว้น = []
สำหรับบรรทัดใน if1_arr:
ถ้าบรรทัดใน if2_arr:
ไม่รวม ต่อท้าย (บรรทัด)
อื่น:
outfile.write(บรรทัด)
สำหรับบรรทัดใน if2_arr:
ถ้าบรรทัดไม่รวม:
outfile.write(บรรทัด)
infile1.close()
infile2.close()
outfile.close()
วิ่ง:
python3 remove_dupes.py <file1> <file2> <output_file>
หากคุณต้องการเปลี่ยนสิ่งนี้ให้เป็นเครื่องมือบรรทัดคำสั่งที่รวดเร็วขึ้น ให้ย้ายสคริปต์ไปยังตำแหน่งระยะยาวและเพิ่มบรรทัดต่อไปนี้ในไฟล์ .bashrc, .bash_aliases, .zshrc หรือเทียบเท่า
นามแฝง mydiff='python3 <path_to_script> '
คุณสามารถแทนที่ 'mydiff' ด้วยสิ่งที่คุณต้องการเรียก หลังจากนั้นคุณสามารถเรียกใช้สคริปต์ด้วย:
mydiff <file1> <file2> <เอาต์พุต_ไฟล์>