Есть софт, который сможет объединить текстовые файлы?
Появилась весьма необычная задача: необходимо найти все текстовые файлы в формате txt на все дисках компьютера и объединить их в один большой текстовый файл. Есть ли готовые решения, которые могут это сделать?
это как ? все файлы с расширением *.txt ? или что-то другое ?
да и под какую систему ищите решение ? Win, Lin, Mac, Android ? или нужно кроссплатформенное ?
а может у вас другая цель ? например, найти определенную информацию в одном из текстовых файлов, но не знаете как подступится ? если так то как вариант используйте тот же ripgrep
да, файлы с расширением .txt. Windows. Я забыл в каком именно файле сохранил пароль от кошелька эфириума и какой именно пароль. Теперь я просто хочу создать большой файл-словарь для перебора пароля
Александр Иванов, так как мы пишем в комментах под вашим вопросом то не забывайте указывать имя @собеседника(жмите Ответить оно и добавит) чтобы пришло уведомления , а то можно так пропустить, сюда я повторно зашел по наитию
обычно если я чего забываю где писал в текстовом файле то использую вышеупомянутый ripgrep(rg), правда для этого естественно нужно примерно помнить хоть какие-то реперные слова которые там должны встречатся.
если хотите создать файл-словарь то нам нужно:
- найти нужные текстовые файлы
- объединить их
- отсортировать содержимое и оставить тока уникальные записи
под линуксом используя тока базовые утилиты это делается довольно просто:
здесь мы указываем нужные пути к дискам или конкретно к папкам для поиска, говорим что нужно искать только среди файлов(-type f) у которых расширение txt(-name "*.txt") и размер(-size) файла не превышает 10 килобайт, после нахождения файла мы выполняем(-exec) команду по выводу(cat) его содержимое, попутно отбрасываем(2>/dev/null) предупреждение к тем файлам к которым у нас нету доступа
далее обобщенный вывод мы через трубу(| - пайп) передаём на сортировку(sort) по уникальным(--unique) значениям, ну и в конце записываем(>) всё в результирующий файл.
под виндой немного сложнее, но в принципе тоже выполнимо, можно как писали в ответах использовать как прослойку для работы linux утилит под виндовс Cygwin, также думаю возможно использовать wsl хотя я не уверен насчет доступу из под него ко всем дискам
еще как вариант подобрать кроссплатформенные утилиты, можно взять к примеру fd для поиска(как замена find);
программы cat и sort входят в базовый(coreutils) набор линух утилит и для них пишут кроссплатформенный аналог на раст uutils/coreutils
то есть если переписать под линукс на них то получим примерно следующее
под linux чтобы новые утилиты не конфликтовали с базовыми которые имеют то же название к ним добавили префикс в виде "uu-" по крайней мере так сделали мантейнеры Арча при добавлении данного пакета в офф.репозиторий.
насчет работы пайпа(|) в винде не в курсе, но даже без него можно реализовать в два этапа через промежуточный файл чтобы оно заработало под Windows:
1