Перейдите к каталогу журналов событий и дайте хвост-f * для просмотра всех недавних журналов.
Как насчет:
while read code device state junk; do
if [[ $code == $message ]]; then
echo "Translated: $device-$state"
fi
done <CODE-LIST.txt
с использованием дополнительных процессов (то есть выпукание awk каждый раз) будет много замедлить его. Чтение
будет читать несколько полей, разделенных $ ifs
(значение по умолчанию - это белое пространство). Последняя переменная переменная получит оставшуюся часть строки, если таковая имеется.
Мне просто интересно, где придет $ Message
. За пределами кода-фрагмента возможно?
Редактировать:
Если часть кода будет происходить только один раз на входе, то вы можете разрыв
из цикла после его обнаружения; Это также будет ускорить вещи.
может использовать awk для всего.
Awk также гораздо быстрее, чем , прочитав
петли.
awk -vM="$Message" '$1==M{print "Translated:",$2"-"$3}' CODE-LIST.txt
-vM="$Message" - Create a variable named M with the value from $Message
$1==M - If the first field is equal to variable M($Message)
{print "Translated:",$2"-"$3} - Write Translated and the second and third fields
CODE-LIST.txt - The file being read
A ,
, используется в сочетании с печатью для печати OFS (вывод сепаратора вывода), которые по умолчанию это пространство
Отказ
Если не указано по-разному, код по умолчанию будет работать в каждой строке файла.
Отказ
Команда печати добавит или с добавлением или сепаратором выходных записей) до конца печатающей струны. Это по умолчанию новая линия.