shad-go/wordcount
2020-02-14 13:53:55 +03:00
..
main.go Resolve "word-count" 2020-02-12 22:25:12 +00:00
main_test.go wordcount: test lines with single occurence 2020-02-13 01:42:45 +03:00
README.md wordcount: fix output format in readme. 2020-02-14 13:53:55 +03:00

wordcount

В этой задаче нужно написать консольную утилиту, которая принимает на вход набор файлов и печатает в stdout уникальные строки и количество раз, которое они встречаются. В stdout попадают только те строки, что встречаются суммарно хотя бы дважды.

Формат вывода:

<COUNT>\t<LINE>
<COUNT>\t<LINE>
...

Пример:

Если a.txt - это файл со следующим содержимым:

a
b
a
c

а b.txt - со следующим:

a
b
a
c

то результат выполнения команды wordcount a.txt b.txt должен выглядеть так (с точностью до перестановки строк):

2	c
4	a
2	b

Проверка решения

Для запуска тестов нужно выполнить следующую команду:

go test -v ./wordcount/...

Компиляция

go install ./wordcount/...

После выполнения в $GOPATH/bin появится исполняемый файл с именем wordcount.

Walkthrough

1. Чтение аргументов командной строки

https://gobyexample.com/command-line-arguments

2. Чтение файлов

https://gobyexample.com/reading-files

3. Парсинг содержимого

https://gobyexample.com/string-functions

4. Подсчёт вхождений

https://gobyexample.com/maps

5. Вывод результатов

https://gobyexample.com/string-formatting