Функция для упрощения grep с часто используемым журналом

Прежде всего, извините, если это мучительно-новичок!

Я пытаюсь сделать функцию, которая упрощает grepping log, с которым я должен работать на регулярной основе.

Я хотел бы использовать расширенное regexp с ним и перенаправить вывод и т. Д.

Но у меня возникли проблемы с этим, используя стандартный синтаксис файла шаблона grep в этой функции.

То, как я его настроил сейчас, ужасно смотреть, но выполняет свою работу:

alias mygrep='cat /path/to/logs/my.log | grep' 

Это позволяет мне бежать без проблем

 mygrep -i -E "WARN|java" |less 

Похоже, правильная реализация должна выглядеть примерно так:

 function mygrep () { args=$* grep "$args" /path/to/logs/my.log } 

Однако, когда я использую это с параметрами поиска и трубы выше, grep возвращает недопустимую ошибку параметра .

Что мне не хватает?

Заранее благодарю за ваше терпение!

  • Блоки труб со следующей последовательностью команд
  • Использование файлов, имеющих пробелы в их имени в трубах
  • Проблема с переменной чтения от AWK
  • Можно ли использовать Open Office через STDIN?
  • Трубопроводные журналы в Apache?
  • Поиск файлов и отправка в файл temp
  • Как прекратить TCP-соединение, установленное самим bash?
  • Выводить трубку в if?
  • One Solution collect form web for “Функция для упрощения grep с часто используемым журналом”

    Следующий код содержит $args :

     grep "$args" /path/to/logs/my.log 

    Это просит передать все значение этой переменной в качестве единственного параметра в grep. Таким образом, если вы вызываете mygrep с параметрами -i и -E , grep фактически получит единственный параметр -i -E , который действительно недействителен.

    Это должно сделать следующее:

     function mygrep () { grep "$@" /path/to/logs/my.log } 

    Запись "$@" делает правильную вещь: она похожа на $* , за исключением того, что она правильно расширяет каждый параметр до одного слова.

    Interesting Posts

    Postfix как MTA и не может получать электронную почту

    Как перенести аргументы командной строки с помощью emacs keybindings?

    Аутентификация X11 не работает в `sudo sux / sudo su`, но работает в` sux / su.` Почему?

    Управление стандартным принтером пользователей в качестве администратора

    Несколько аргументов в линиях shebang

    Как найти основную причину «перегрузки процессора NetIq CPU» в Linux

    Установите wayland для стандартного автозапуска GDM

    Можно ли показывать в открытом / переадресованном сеансе в KDE?

    tar игнорирует вариант «более новый»

    Общая библиотека на монтировании NFS не найдена с одного хоста, отлично работает с другим

    Что такое аргумент задания по умолчанию для make?

    Извлечь значение ячейки в таблице Excel

    Безопасное использование неизвестных приложений

    На каких файлах ключевые штрихи и данные щелчка мыши идут первым и какая у них форма?

    Как получить звук Realtek ALC887 5.1 в debian?

    Linux и Unix - лучшая ОС в мире.