ok Leute, dann fange ich von vorne an. Das ist mein Input File:
cc_oo_g_csss.sh
cc_oo_guv_zppp.sh
cc_aba_ddd.sh
cc_aba_ccxyp.sh
cc_abus_pl_fa_part1.sh
cc_abus_pl_fa_part2.sh
cc_abus_pl_fa_part3.sh
cc_abus_pl_fa_part4.sh
cc_abus_pl_fa_part5.sh
cc_abus_pl_fa_part6.sh
cc_abus_pl_fa_part7.sh
cc_abus_pl_fa_part8.sh
cc_abus_pl_fa_merge.sh
cc_abac_nsv_ssd.sh
cc_abac_kriv.sh
cc_rufrep_nia_inst_leg.sh
cc_rufrep_nia_inst_comb.sh
cc_rufrep_nia_inst_flow.sh
cc_rufrep_nia_inst.sh
cc_vision_kriv.sh
cc_vision_interface_part1.sh
cc_vision_interface_part2.sh
cc_vision_interface_part3.sh
cc_vision_interface_part4.sh
cc_vision_interface_merge.sh
cc_vision_deriv.sh
cc_vision_deriv.sh
cc_vision_deriv.sh
cc_ria_flows_rep_plain.sh
cc_iaed_fls_rep_merge.sh
cc_vision_interface_part1.sh
cc_vision_interface_part2.sh
cc_vision_interface_part3.sh
cc_vision_interface_part4.sh
cc_vision_interface_merge.sh
Und hier gibt es doppelte Einträge. Mit den ersten Code mache ich so eine Liste:
cc_oo_g_csss.sh
cc_oo_guv_zppp.sh
cc_aba_ddd.sh
cc_aba_ccxyp.sh
D:\Temp\c_run_multiple_shell_skripts.sh
-S "cc_abus_pl_fauz_part1.sh, cc_abus_pl_fa_part2.sh, cc_abus_pl_fa_part3.sh, cc_abus_pl_fa_part4.sh,
cc_abus_pl_fa_part5.sh, cc_abus_pl_fa_part6.sh, cc_abus_pl_fa_part7.sh, cc_abus_pl_fa_part8.sh "
-F cc_abus_pl_fa_merge.sh
cc_abac_nsv_ssd.sh
cc_abac_kriv.sh
cc_rufrep_nia_inst_leg.sh
cc_rufrep_nia_inst_comb.sh
cc_rufrep_nia_inst_flow.sh
cc_rufrep_nia_inst.sh
cc_vision_kriv.sh
D:\Temp\c_run_multiple_shell_skripts.sh
-S "cc_vision_interface_part1.sh, cc_vision_interface_part2.sh, cc_vision_interface_part3.sh,
cc_vision_interface_part4.sh"
-F cc_vision_interface_merge.sh
cc_vision_deriv.sh
cc_vision_deriv.sh
cc_vision_deriv.sh
cc_ria_flows_rep_plain.sh
cc_iaed_fls_rep_merge.sh
D:\Temp\c_run_multiple_shell_skripts.sh
-S "cc_vision_interface_part1.sh, cc_vision_interface_part2.sh, cc_vision_interface_part3.sh,
cc_vision_interface_part4.sh"
-F cc_vision_interface_merge.sh
Code: Alles auswählen
#!/usr/bin/python
# Ausgabedatei zum beschreiben öffnen
fout = open('outputfile.txt', 'w')
# Variable die die parts sammelt
parts = []
# für jede Zeile der Eingabedatei
with open('inputfile.txt','r') as f:
for l in f:
# wenn der String 'part' in der Zeile gefunden wird dann schreibe die Zeile in das Array
if 'part' in l:
parts.append(l.replace('\n',''))
else:
# wenn die Zeile kein 'part' mehr enthält und das Array nicht leer ist dann schreibe die Elemente wie gewünscht in die Ausgabedatei
if parts != []:
fout.write('D:\Temp\c_run_multiple_shell_skripts.sh\n')
fout.write('-S "' + ','.join(parts) + '"\n')
fout.write('-F ' + l)
# Array Variable leeren für nächste Part-Liste
parts = []
else:
# normale Zeile, einfach in Zieldatei schreiben
fout.write(l)
fout.close()
lines = open('outputfile.txt', 'r').readlines()
lines_set = set(lines)
fout = "Output_2.txt"
out = open(fout, 'w')
for line in lines_set:
out.write(line + '\n')