1

У меня есть несколько строк, похожих на:

Жасмин, Келлин, Шелли; Applebees

Сара; Walmart

Хелен, Макс, Сэм; Dell

Многие из этих имен повторяются. Мне нужно выяснить топ-10 использованных имен. Я пытался использовать cut -d "," restaurant.txt | сортировать | uniq -c | сортировать -rn | голова -n 10

1 ответ1

0

Хорошо, это не красиво, но по крайней мере это работает.

 cat restaurants.txt | sed 's/;.*//' |  tr "," "\n" | tr " " "\n" | grep -v '^$' |  sort | uniq -c | sort -r  

2 Sam
2 Max
1 Shelly
1 Sarah
1 Kellyn
1 Jasmine
1 Helen

Объяснение:
sed 's/;.*//' удаляет весь текст после точки с запятой, как (; Applebees)

tr "," "\n" uniq работает только на одну строку, поэтому заменяйте запятые на новые строки

tr " " "\n" очищает все лишние пробелы, предоставляя им собственную строку (необязательно)

grep -v '^$' Удаляет все пустые строки

sort сортирует

uniq -c подсчитывает дубликаты

sort -f организует в порядке убывания

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .