Утилита фильтрует строки из входных файлов по типам (целые, вещественные, строки), записывая их в отдельные выходные файлы. Читает входные файлы по строкам по очереди (round-robin) в порядке перечисления в командной строке. Пустые строки пропускаются.
- Java 17 (JDK 17)
- Gradle 8+ (Kotlin DSL)
git clone https://github.com/Code-runner101/file_filter_util.git
cd file_filter_utilgradlew.bat clean build./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.txtsample-floats.txtsample-strings.txt
- Целые — десятичные, допускается ведущий
+/-, без точки и экспоненты; произвольной длины. - Вещественные — если строка содержит точку или экспоненту
E/e(например,-0.001,3.14,1.23E-10). - Строки — всё остальное. Пустые строки игнорируются.
- Ошибки открытия/чтения отдельных файлов не прерывают работу: проблемный файл пропускается, остальные обрабатываются.
- Непарсибельные числа и прочие исключения на отдельной строке приводят к пропуску строки с предупреждением.