#bash #awk #windows-subsystem-for-linux
Вопрос:
У меня нет большого опыта использования инструментов Unix, и мне было интересно, как это сделать:
У меня есть файл с 2 такими столбцами (вкладка пробел):
Agent 2
Person 3
Place 1
Location 4
Каждый отдельный элемент первого столбца будет представлять собой число ( Agent -> 1
, Person -> 2
, Place -> 3
, Location -> 4
).
Таким образом, я хочу, чтобы каждый числовой элемент первого столбца соответствовал количеству раз, которые появляются во втором столбце. В этом случае:
1
1
2
2
2
3
4
4
4
4
Объяснение: Agent (1)
появляется 2 раза, Person (2)
появляется 3 раза и т. Д.
Надеюсь, вы сможете мне помочь. Заранее спасибо.
Комментарии:
1. Идеальным было бы начать с числа
1
и добавить 1 для каждого отдельного элемента в первом столбце. Я хотел бы , чтобы это делалось автоматически, но я не знаю, как это сделать: (, в противном случае это можно было бы сделать вручную в любом текстовом редакторе.
Ответ №1:
$ awk '{for (i=1; i<=$2; i ) print NR}' file
1
1
2
2
2
3
4
4
4
4