замена sed соответствует слишком многим исходным данным

Пока Вы не видите записи в журнале нет никакого способа потенциально знать это. Нет никакого регистра системного журнала или чего-то как этот.

Но достигнуть Вашей цели можно подстроить системный журнал:

  1. Установка rsyslog
  2. Удаление старого системного журнала (и не забывают помещать rsyslog в runlevels),

Установленный rsyslog-конфигурационный-файл сделает точно то же вначале как конфигурацию системного журнала по умолчанию. НО: можно подстроить его - например, записать, что сообщения, отправленные программой X через средство системного журнала Y в файл Z - затем, управляют: dont't пишут эти сообщения где-либо еще.

1
10.04.2012, 21:12
2 ответа
echo Test |sed -f <(sed 's/\(.*\),\(.*\)/s,\\<\1\\>,\2,gI/' mydic)

\<и \> указывают на запуск и конец слова, соответственно.

2
27.01.2020, 23:29

Вы попросили, чтобы это заменило "e" "AlphabetE", который это сделано правильно. Я подозреваю, что Вы означали это только рассматривать целые слова?

Попробуйте это:

echo "test" | sed -f <(sed -e 's/.*/s,\\<&\\>,gI/' mydic)

Править: Я заметил, что Вы на самом деле занимались проблемой случая.

1
27.01.2020, 23:29
  • 1
    Да я имел в виду целое слово, и Вашим результатом команды является sed только первый алфавит. Результат: AlphabetT> установленный сервер –  Runicer 10.04.2012, 19:01
  • 2
    , я вижу то, что я сделал неправильно. Да, @Peter внес правильную корректировку. –  ams 10.04.2012, 22:00

Теги

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