Подсчитайте число чисел во всех столбцах в bash - PullRequest
0 голосов
/ 26 марта 2020

У меня есть такой набор данных:

1 3 3 4 5 2 3 3
2 2 2 1 2 2 2 2 
1 3 3 3 3 3 3 3
1 4 4 4 4 4 4 3

Я бы хотел посчитать, сколько раз число «один» появляется в столбце, поэтому я хотел бы, чтобы вывод был таким:

3 0 0 1 0 0 0 0

Кто-нибудь знает, как это сделать в bash?

Большое спасибо! Ana

1 Ответ

2 голосов
/ 26 марта 2020

Сделай это в awk. Итерируйте по количеству полей и, если поле равно 1, увеличивайте массив. Затем в конце выведите массив.

awk '{ for (i = 1; i <= NF; ++i) { if($i == 1) { ++c[i]; } } 
  END{ for (i = 1; i <= NF; ++i) { printf "%d%s", c[i], i!=NF ? OFS : ORS; } }
...