shad-go/wordcount
Sergey Paramoshkin dc939b6ed1
update repo
2023-10-02 22:32:41 +03:00
..
main.go go fix old build tags. 2022-03-15 23:49:56 +03:00
main_test.go update repo 2023-10-02 22:32:41 +03:00
README.md Add linter section to some readme files. 2020-02-22 03:29:32 +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.

Линтер

Установите golangci-lint и проверьте решение перед отправкой!

golangci-lint -v run ./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