2017-02-16 28 views
1

Я нахожусь в своем домашнем каталоге и даю путь к двум различным файлам, которые мне нужны. Каждый файл я grepping для 2 переменных. моя проблема в том, что по какой-то причине этот скрипт не пишет в файл saveFile.txt. файл saveFile.txt находится в том же каталоге, что и выполняемый мной сценарий.grep не записывается в файл

#!/bin/sh 
tail -f <path1> -f <path2> | egrep -i --line-buffered '<variable1>|<variable2>' > saveFile.txt 

Для дополнительного бонуса, есть способ, чтобы добавить интервал для вывода, выбрасываемый в файл через тот же сценарий? Мне сказали, что, может быть, проще просто написать это в Ruby или Python haha.

Спасибо!

+1

Вы уверены, что 'egrep' производит выходные данные на' stdout'? можете ли вы попробовать без записи в файл, чтобы увидеть, есть ли результаты? – Inian

+1

У вас действительно есть все в одной строке, как показано здесь? – choroba

+0

Я пробовал сделать один хвост и один egrep без записи в файл, и это давало мне выход. –

ответ

0

Вот рабочий пример:

tail -f ./listener/alert/log.xml ./listener/trace/listener.log | grep -P --line-buffered '[A-z]+' | tee ~/foo.txt 

примечания: хвост не нуждается в нескольких -f арга. Я использую perl regex в grep с флагом -P. И, наконец, мне нравится видеть вывод на консоли, а также отправлять его в файл, поэтому я использую tee.

+0

Просто, чтобы убедиться, что Im понимает страницы руководства по использованию tee, это то же самое, что и при использовании '> saveFile.txt', кроме того, что он также показывает результат? И мне жаль, если это глупый вопрос, но зачем использовать './' перед текстовым файлом? Благодаря! –

+0

(1) Да, tee выдает вывод, отправляющий его на консоль И в файл. Handy. Это то же самое, что и >>, что означает, что он постоянно добавляется к файлу. (2) Я использую относительные пути в моем примере, поэтому косая черта просто означает запуск пути в текущем каталоге, где выполняется команда хвоста. Вы могли бы просто использовать абсолютный путь, например./Вар/журнал. – gregory

 Смежные вопросы

  • Нет связанных вопросов^_^