найти файлы, которые содержат строку, и добавить все содержимое этого файла в новый файл

  1. La mayoría de los complementos -para Thunar forman parte del grupo xfce4-goodiesy, si lo descargó, considere que todos los complementos -ya están instalados.
  2. instalar

    sudo apt install thunar-volman

    Configuraciónhttps://wiki.archlinux.org/index.php/Thunar

    1. Configuración -> Medios extraíbles -> Multimedia -> Videodiscos

    /usr/bin/vlc --fullscreen dvd:///dev/srX

    dondesrX-Unidad de DVD

-4
01.11.2017, 02:42
2 ответа

Цикл grepрезультаты:

truncate -s 0 file.txt

for match in $(grep -lr "$STRING" --exclude file.txt.); do
    cat "$match" >> file.txt
done

truncateсоздает новый файл, если он не существует, или очищает существующий.

0
28.01.2020, 05:20
find. -maxdepth 1 -type f \
        -exec awk 'NR == 1 && /^Format/ { exit 0 } { exit 1 }' {} \; \
        -exec cat {} \; > /tmp/file.txt

Это найдет все обычные файлы в текущем каталоге и выполнит сценарий awkдля каждого из них по очереди. Удалите аргумент -maxdepth 1для рекурсивного поиска.

Скрипт awkзавершится с нулевым статусом выхода, если текущий файл содержит слово «Формат» в начале самой первой строки. Если это не так, он завершается со статусом выхода 1.

Если сценарий awkзавершается с нулевым статусом выхода, команда findпродолжит вызов catс файлом, который просто выведет его содержимое на стандартный вывод.

Перенаправление с findна /tmp/file.txtгарантирует, что все файлы, выведенные окончательным cat, перейдут на /tmp/file.txt. Этот файл будет усечен (и очищен )оболочкой перед началом выполнения команды find.

Вы не хотите, чтобы файл file.txtсоздавался в текущем каталоге, так как это может отправить команду findв бесконечный цикл.


Аргументы к find, используемые здесь, действуют как проверки вещей, которые findнаходит. Если тест успешен, выполняется следующий тест. Если один тест не проходит, findпродолжает искать что-то другое.

  • Тест -maxdepth 1завершается неудачей, если findнаходит каталог, в котором глубина каталога findпревысит 1, если он войдет в него. Поэтому он останется только на самом верхнем -уровне каталога.

  • -type fне будет работать для всего, что не является обычным файлом (, то есть для каталогов, сокетов, файлов устройств и т. д. ).

  • Тесты -execзавершатся неудачно, если выполненная команда возвращает ненулевой статус выхода -.

1
28.01.2020, 05:20

Теги

Похожие вопросы