Как я могу запустить "tail-f" на всех файлах журнала в текущем каталоге - кроме одного?

в рамках моих повседневных делах Дев (на Mac с OS 10.12.3) я бегу tail -f * в папке журнала с терминала. Папка содержит около 15 различных файлов. Как я могу изменить эту команду, чтобы отслеживать изменения все файлы, кроме одного С *? Предположим, единственный файл, который я хотел бы исключить из * называется Repetitive.log.

извините за самый простой вопрос, я огляделся и не увидел дубликата. Отправлено с https://stackoverflow.com/questions/42815599/exclude-files-from-the-catchall-symbol

30
задан Community
12.12.2022 21:17 Количество просмотров материала 3012
Распечатать страницу

2 ответа

если вы используете bash в качестве оболочки задайте переменную окружения GLOBIGNORE в список шаблонов, разделенных двоеточиями, которые вы хотите не матч, когда оболочка глобус,например

$ export GLOBIGNORE=Repetitive.log
$ export GLOBIGNORE=somefile:anotherfile:abc*

С man bash:

   GLOBIGNORE
          A colon-separated list of  patterns  defining  the  set  of
          filenames  to be ignored by pathname expansion.  If a file-
          name matched by a pathname expansion pattern  also  matches
          one  of  the patterns in GLOBIGNORE, it is removed from the
          list of matches.
2
отвечен user4556274 2022-12-14 05:05

xargs - ваш друг! Если нет,find также может помочь.

вот четыре подхода, с помощью xargs,find ... -exec или расширенных шаблону:

использовать xargs via ls и grep

ls | grep -v Repetitive.log | xargs tail -f

использовать xargs via find

find . -maxdepth 1 ! -name Repetitive.log | xargs tail -f

использовать find С -exec аргумент

find . -maxdepth 1 ! -name Repetitive.log -exec tail -f {} \;

использовать расширенное сопоставление в bash

отличный ответ, взятый из https://stackoverflow.com/a/19429723/1862762.

shopt -s extglob
tail -f /directory/of/logfiles/!(Repetitive.log)

Примечание

для этой задачи, я бы предпочел xargs путь, так как он обеспечивает вывод из tail помечено соответствующими именами файлов. Использование ls и grep кажется более интуитивным и легко запомнить.

1
отвечен setempler 2022-12-14 07:22

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх