У меня есть данные, разделенные: с разделителями
AA:w_c;w_c;r_c:1;3
BB:sync;sync:4
CC:t_wak;t_wak:6;7;8
Мне нужно напечатать только одно значение в столбце 2, которое является уникальным. Если существует более одного уникального значения, его необходимо распечатать в другом файле.
Я пробовал это:
#!/bin/bash
sort -u -t : -k2,2 file >> txt
awk -F: '{gsub(";"," ",$3)}1' txt
Output:
BB:sync;sync:4
CC t_wak;t_wak 6 7 8
AA w_c;w_c;r_c 1 3
На самом деле я пытаюсь выполнить сортировку и uniq значений в столбце 2 и копирование этого вывода в другой файл с именем «txt». Затем я использую AWk для замены; с пробелом в столбце 3 кажется, что приведенный выше код не работает.
Желаемый результат 1:
BB:sync:4
CC:t_wak:6 7 8
Указанные выше два значения являются фактическим выходом, который нам нужно получить для печати, потому что в столбце 2 он содержит только одно значение.
Нижеследующее необходимо распечатать в другом файле, потому что в столбце 2 оно содержит более одного значения.
Желаемый результат 2:
AA:w_c;r_c:1;3
w_c
r_c
В столбце 2 должно быть только одно значение, если их несколько, то необходимо распечатать в другом файле, указав их, как показано выше.