Это производит Ваш ожидаемый вывод, с помощью Python. Это - немного hackish, потому что я не знаю много Pyton, но это работает :)
#!/bin/bash
python -c '
import sys, csv;
reader = csv.reader(sys.stdin)
nbli=0 # line number (to maintin input order)
nbwi=6 # width of line number.. (zero padded)
left=[]
rght=[]
for row in reader:
nbli+=1
fnum=format(nbli, "0"+str(nbwi)+"d")
if row[0] != "": left.append(row[0]+fnum)
if row[1] != "": rght.append(row[1]+fnum)
left.sort()
rght.sort()
coll = []
l ,r = 0, 0
while l < len(left) or r < len(rght):
#
if l >= len(left):
numr = rght[r][-nbwi:]
datr = rght[r][:len(rght[r])-nbwi]
coll.append(numr + " " + ",\"" + datr + "\"")
r+=1
elif r >= len(rght):
numl = left[l][-nbwi:]
datl = left[l][:len(left[l])-nbwi]
coll.append(numl + " " + "\"" + datl + "\",")
l+=1
else:
numl = left[l][-nbwi:]
numr = rght[r][-nbwi:]
datl = left[l][:len(left[l])-nbwi]
datr = rght[r][:len(rght[r])-nbwi]
#
if datl.startswith(datr+" "):
coll.append(numl + " " + "\"" + datl + "\",\"" + datr + "\"")
l+=1
r+=1
elif datl < datr + " ":
coll.append(numl + " " + "\"" + datl + "\",")
l+=1
else:
coll.append(numr + " " + ",\"" + datr + "\"")
r+=1
coll.sort()
c = 0
while c < len(coll):
print coll[c][nbwi+1:]
c+=1
' \
<<-'STDIN'
"XYZ-ZTE-43255 serverB618 agreed","XYZ-ZTE-44432"
,"XYZ-ZTE-43255"
"XYZ-ZTE-52775 serverB110 agreed",
"XYZ-ZTE-79213 - serverB688 agreed",
"XYZ-ZTE-77323 serverB617 agreed",
"XYZ-ZTE-81422 - serverB609 agreed","XYZ-ZTE-77323"
"XYZ-ZTE-32785 - serverA626 agreed","XYZ-ZTE-52775"
"XYZ-ZTE-43235 - serverA605 disagreed (asdfjlasdj yxvv il lkyeas sadfa)","XYZ-ZTE-43235"
"XYZ-ZTE-11591 serverB144 agreed",
,"XYZ-ZTE-11591"
STDIN
Вывод:
"XYZ-ZTE-43255 serverB618 agreed","XYZ-ZTE-43255"
,"XYZ-ZTE-44432"
"XYZ-ZTE-52775 serverB110 agreed","XYZ-ZTE-52775"
"XYZ-ZTE-79213 - serverB688 agreed",
"XYZ-ZTE-77323 serverB617 agreed","XYZ-ZTE-77323"
"XYZ-ZTE-81422 - serverB609 agreed",
"XYZ-ZTE-32785 - serverA626 agreed",
"XYZ-ZTE-43235 - serverA605 disagreed (asdfjlasdj yxvv il lkyeas sadfa)","XYZ-ZTE-43235"
"XYZ-ZTE-11591 serverB144 agreed","XYZ-ZTE-11591"
Я так или иначе решаю это boot0cfg -t 18
устройство, которые автоматически загружаются в 18 галочках (приблизительно 1 секунда).