grep с переменной

Я пытаюсь создать сценарий для мониторинга всех логинов с использованием sudo, как успеха, так и неудачи.

Прямо сейчас, у меня есть:

set tdate = $(date "+%b %d") set attempted_su_log = /var/log/suattempts cat /var/log/secure | grep $tdate | grep 'servername su' >> $attempted_su_log 

Как я могу grep текущую дату из / var / log / secure, так что я получаю записи только с того дня, когда они произошли?

Когда я бегу

 cat /var/log/secure | grep 'Mar 18' | grep 'servername su' 

из командной строки, я получаю результаты, которые мне нужны, но я не уверен, как написать скрипт grep с текущей датой, заданной как переменная $ tdate.

2 Solutions collect form web for “grep с переменной”

Вы должны grep "$tdate" аргумент grep: grep "$tdate" . Это связано с тем, что $tdate расширяется до двух разделенных $tdate слов, которые, в свою очередь, передаются в grep как два аргумента, если только двойные кавычки не добавляются.

Ваш скрипт можно было бы улучшить, чтобы удалить бесполезное использование cat и вызвать grep только один раз:

 </var/log/secure grep "$tdate.*servername su" >>"$attempted_su_log" 

tdate есть пространство. Таким образом, grep обрабатывает вторую часть tdate как имя файла. Вам нужно будет заключить $tdate в двойные кавычки, чтобы предотвратить это. Ваша команда должна выглядеть так:

 cat /var/log/secure | grep "$tdate" | grep 'servername su' >> $attempted_su_log 
  • X11: Клиент не авторизовался при вызове с помощью sudo
  • Sudo, нет доступа к файлам пользователей
  • Как решить sudo: невозможно выполнить / bin / ls: слишком много аргументов
  • sudo как другой пользователь с их окружением
  • Пользователь может sudo, хотя он не в группе sudo, а в / etc / sudoers
  • как: Пожалуйста, sudo, do _not_ настроить любую среду, особенно $ SUDO_USER?
  • Почему sudo говорит мне, что мой пароль неправильный?
  • Почему у TurnKey Linux не установлено sudo по умолчанию, если вы никогда не должны входить в систему как root?
  • Как дать пользователю такую ​​возможность, как root с visudo?
  • Всегда ли монтируется root?
  • Обновление кучи компьютеров Mac через SSH. Может помочь
  • Interesting Posts

    Поиск и закрытие / отключение очередей сообщений в системе

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

    Что означает: 0 означает в конфигурации vnc?

    bath control, если используется флаг опции

    Zabbix web install Redhat конфликты php

    Синтаксис: значение unset ssh -o config?

    Является ли моя интерпретация `sed -i.bak '/ ^ x / d'" $ SOME_FILE "правильной?

    PDF Reader для OpenBSD, который по умолчанию отключил JAVA / JavaScript / etc.?

    Как удалить текст в последней строке файла?

    В Archlinux он имеет действительный ip, но соединение не может быть установлено

    Любой компакт-диск для переключения промежуточного каталога в текущий путь?

    Существует ли стандартный / общепринятый способ для библиотеки плагинов идентифицировать свое местоположение на диске?

    В репозитории Reprepro отсутствуют некоторые файлы?

    SSH publickey работает для root, но не для пользователя

    Как выполнить действие ссылки печати LaTeX в Linux Adobe?

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