Skip to content

Утилита для фильтрации строк из входных файлов по типам (целые, вещественные, строки), записывая их в отдельные выходные файлы.

Notifications You must be signed in to change notification settings

Code-runner101/file_filter_util

Repository files navigation

File Filter Utility

Утилита фильтрует строки из входных файлов по типам (целые, вещественные, строки), записывая их в отдельные выходные файлы. Читает входные файлы по строкам по очереди (round-robin) в порядке перечисления в командной строке. Пустые строки пропускаются.

Требования

  • Java 17 (JDK 17)
  • Gradle 8+ (Kotlin DSL)

Клонирование

git clone https://github.com/Code-runner101/file_filter_util.git
cd file_filter_util

Сборка

Под Windows

gradlew.bat clean build

Под Mac/Linux

./gradlew clean build

Готовый jar: build/libs/uxl.jar

Запуск

java -jar build/libs/uxl.jar [опции] in1.txt in2.txt ...

Опции:

  • -o <path> — каталог для результатов (по умолчанию .)
  • -p <prefix> — префикс имен (по умолчанию пусто). Итоговые имена: <prefix>integers.txt, <prefix>floats.txt, <prefix>strings.txt.
  • -a — режим append (добавление) вместо перезаписи.
  • -s — краткая статистика (только количество).
  • -f — полная статистика (числа: min/max/sum/avg; строки: minLen/maxLen). Если указаны и -s, и -f, берётся полная.
  • -h/--help — помощь.

Пример:

java -jar build/libs/uxl.jar -f -a -p sample- in1.txt in2.txt

Выходные файлы (создаются только по мере необходимости, если соответствующий тип встретился хотя бы раз):

  • sample-integers.txt
  • sample-floats.txt
  • sample-strings.txt

Особенности определения типов

  • Целые — десятичные, допускается ведущий +/-, без точки и экспоненты; произвольной длины.
  • Вещественные — если строка содержит точку или экспоненту E/e (например, -0.001, 3.14, 1.23E-10).
  • Строки — всё остальное. Пустые строки игнорируются.

Обработка ошибок

  • Ошибки открытия/чтения отдельных файлов не прерывают работу: проблемный файл пропускается, остальные обрабатываются.
  • Непарсибельные числа и прочие исключения на отдельной строке приводят к пропуску строки с предупреждением.

About

Утилита для фильтрации строк из входных файлов по типам (целые, вещественные, строки), записывая их в отдельные выходные файлы.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages