Предположим, у нас есть файл example1.txt, состоящий из нескольких строк.
item item item
A B C
100 20 2
100 22 3
100 23 4
101 26 2
102 28 2
103 29 3
103 30 2
103 32 2
104 33 2
104 34 2
104 35 2
104 36 3
Есть несколько команд, которые я хотел бы выполнить, чтобы отфильтровать текстовые файлы и добавить еще несколько столбцов.
Сначала я хочу применить условие, когда элемент C равен 2. Используя команду awk, я могу сделать это следующим образом.
Поэтому текстовый файл возврата будет:
awk '$3 == 2 { print $1 "\t" $2 "\t" $3} ' example1.txt > example2.txt
item item item
A B C
100 20 2
101 26 2
102 28 2
103 30 2
103 32 2
104 33 2
104 34 2
104 35 2
Теперь я хочу посчитать две вещи:
Я хочу посчитать общее уникальное число в столбце 1.
For example, in the above case example2.txt, it would be:
(100,101,102,103,104) = 5
И я хотел бы добавить повторяющийся номер столбца A и добавить его в новый столбец.
Я хотел бы иметь следующее:
item item item item
A B C D
100 20 2 1
101 26 2 1
102 28 2 1
103 30 2 2
103 32 2 2
104 33 2 3
104 34 2 3
104 35 2 3
~
Над столбцом Элемент D (4-й) 1-й ряд равен 1, потому что в нем не было повторений. но в 4-м ряду это 2, потому что 103 повторяется дважды. Поэтому я добавил 2 в 4-м и 5-м столбцах. Аналогично, последние три столбца в элементе 4 равны 3, поскольку элемент A повторяется три раза в этих трех столбцах.