команда unix (grep, cut) - PullRequest
       2

команда unix (grep, cut)

0 голосов
/ 02 апреля 2011

У меня есть файл "auto", содержимое:

Renault: Clio: 1999: 25000: 9000: румяна
Peugeot: 106: 2000: 15000: 10000: bleue
Ситроен: AX: 1994: 55000: 5000: Gris
wolswagen: golf4: 2000: 10000: 22000: bleue
Мерседес: Класс C: 2002: 5000: 43000: Гри
Renault: Clio: 1993: 65000: 6000: bleue
wolswagen: golf3: 1995: 58000: 8000: bleue

Итак, вопрос «как я могу отобразить список моделей (2-е поле)? Файл« auto », идентифицирующий для каждого количество транспортных средств?»

Ответы [ 3 ]

2 голосов
/ 02 апреля 2011

Попробуйте скрипт count:

#!/usr/bin/awk -f
{
  col = 2
  freq[$col]++
}
END {
  for (word in freq)
    printf "%s\t%d\n", word, freq[word]
}

который после запуска будет: count data.txt, напечатает:

:106        1
:Clio       2
:AX         1
:golf3      1
:Classe     1
:golf4      1
0 голосов
/ 02 апреля 2011

спасибо всем, я отредактировал этот код после объединения некоторых ответов:

cut -f2 -d: auto|sort|uniq -c

и я получаю искомый результат:

1 106
1 AX
1 класс C
2 Clio
1 гольф3
1 гольф4

0 голосов
/ 02 апреля 2011
 cut -d ':' -f 2 auto | sort | uniq -c | sort -n

На этот раз я проверил это:

sehe@meerkat:/tmp$ cut -d ':' -f 2 auto | sort | uniq -c | sort -n
      1 106 
      1 AX 
      1 Classe C 
      1 golf3 
      1 golf4 
      2 Clio 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...