shad-go/wordcount/README.md
2020-02-12 22:25:12 +00:00

64 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## wordcount
В этой задаче нужно написать консольную утилиту, которая принимает на вход набор файлов
и печатает в stdout уникальные строки и количество раз, которое они встречаются.
В stdout попадают только те строки, что встречаются суммарно хотя бы дважды.
Формат вывода:
```
<LINE>\t<COUNT>
<LINE>\t<COUNT>
...
```
#### Пример:
Если 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