4

Этот вопрос может быть глупым и очень простым для знатоков Linux, но мне просто интересно, например, я хочу использовать команду> find для поиска файла и отправки результатов в текстовый файл, любой знает, как я могу это сделать ? Я использую осознанную рысь, кстати

5 ответов5

10

Вы хотите использовать перенаправление для этого.

find -somecriteria > somefile.txt
1

Если вы просто хотите найти определенные файлы. Игнасио ответил:

find -somecriteria > somefile.txt

Если вы хотите найти определенные файлы и вывести содержимое этих файлов.

find -somecriteria -exec cat {} + > somefile.txt
0

Кажется, вам нужно найти файл по FILENAME, а не по каким-то другим критериям.

Для этого есть гораздо лучшая утилита, чем 'find', называемая 'locate'. Он использует базу данных locate для поиска файлов по имени, поэтому это намного быстрее, чем поиск по файловой системе.

Во-первых, запустите «updatedb» от имени пользователя root, чтобы убедиться, что база данных locate обновлена, и, возможно, добавьте задание CRON, которое будет выполняться ночью, если его еще нет.

Затем используйте «locate filename» или «locate -r regexp», чтобы найти файлы.

Я упоминаю второй вариант, потому что 'locate abc.log' найдет, например, abc.log.1 и abc.log.1.gz и все остальное совпадает. Таким образом, 'locate -r abc.log\$' в этом случае найдет ТОЛЬКО файлы с именем abc.log

Наконец, как уже упоминалось, чтобы поместить полученный результат команды в файл, используйте> как в:

locate -r \^abc.log\$ > /home/me/all.abc.log.files
0

Да, вы можете использовать перенаправление:

$ find . > some_file_name.txt
$ cat some_file_name.txt

Символ > в конце команды перенаправляет любой вывод, который обычно идет на консоль, вместо этого записывается файл, имя которого следует после > .

0

Вы можете запускать команды через Python, используя его модуль подпроцесса , и сохранять результаты в текстовых файлах. Перенаправление также работает (как показано @Ignacio), но содержимое файла будет перезаписываться при каждом запуске команды.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .