Skip to content

About

A lightweight implementation of the `sort` utility on Go with support for basic Unix sort flags.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unix Sort Lite CI Coverage Status

🧘🏼‍♀️ Unix Sort Lite

Легковесная реализация утилиты sort на Go с поддержкой основных флагов Unix sort.


✅ Поддерживаемые флаги

Флаг Описание Пример
-n, --numeric Числовая сортировка echo -e "10\n2\n1" | ./unix_sort_lite -n
-r, --reverse Обратная сортировка echo -e "a\nb\nc" | ./unix_sort_lite -r
-k, --key N Сортировка по полю N echo -e "b 2\na 1" | ./unix_sort_lite -k 2
-M, --month-sort Сортировка по месяцам echo -e "Mar\nJan\nFeb" | ./unix_sort_lite -M
-h, --human-numeric-sort Человеко-читаемые числа echo -e "1K\n2M\n3G" | ./unix_sort_lite -h
-u, --unique Только уникальные строки echo -e "a\na\nb" | ./unix_sort_lite -u
-b, --ignore-trailing-blanks Игнорировать пробелы echo -e " a\nb " | ./unix_sort_lite -b
-c, --check Проверить сортировку echo -e "a\nb\nc" | ./unix_sort_lite -c

▶️ Использование

  • Клонируйте репозиторий:
git clone https://github.com/alexey0b/unix_sort_lite
  • Соберите проект:
make build
  • Посмотрите все доступные команды
make help

Примеры использования утилиты на текстовых файлов из директории /example

Стандартная сортировка

make sort INPUT_FILE='example/words.txt'
# Output:
# alert
# go
# package
# test

Числовая сортировка

make sort FLAGS='-n' INPUT_FILE='example/nums.txt'
# Output:
# 1
# 2
# 10

Сортировка по месяцам

make sort FLAGS='-M' INPUT_FILE='example/months.txt'
# Output:
# Jan
# Feb
# Mar

Комбинированные флаги

make sort FLAGS='-nr' INPUT_FILE='example/nums.txt'
# Output:
# 10
# 2
# 1

🛠️ Технические ресурсы

Требования

  • Go 1.18+
  • Unix/Linux/macOS
  • golangci-lint для линтинга (опционально)

Зависимости


📚 Полезные команды

# Посмотреть все доступные команды
make help

# Запустить тесты
make test

# Запустить линтер (должен быть установлен golangci-lint)
make lint 

Справочная информация:


About

A lightweight implementation of the `sort` utility on Go with support for basic Unix sort flags.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages