У меня большой список ребер (~ 26 миллионов) с первыми двумя столбцами в качестве узлов и с переменным числом необязательных столбцов:
Node1 Node2 OptionalCol1 OptionalCol2 ...
Gene A Gene D -- --
Gene C Gene F -- --
Gene D Gene C -- --
Gene F Gene A -- --
Мне нужен текстовый файл, который будет иметь не избыточный список узлов, объединяющих оба столбцы.Вывод:
Gene A
Gene D
Gene C
Gene F
Мой код Python:
file1 = open("input.txt", "r")
node_id = file1.readlines()
node_list=[]
for i in node_id:
node_info=i.split()
node_info[0]=node_info[0].strip()
node_info[1]=node_info[1].strip()
if node_info[0] not in node_list:
node_list.append(node_info[0])
if node_info[1] not in node_list:
node_list.append(node_info[1])
print node_list
Возможно ли это сделать с помощью awk?Спасибо