Назад | Перейти на главную страницу

сравнить первую или третью позицию

Общий файл журнала mysql выглядит так ...

110822 14:41:14 103700 Query    SHOW FULL TABLES FROM `engine` LIKE 'PROBABLYNOT'
                103700 Query    SHOW FULL TABLES FROM `engine` LIKE 'PROBABLYNOT'
110822 15:01:14 103701 Query    SHOW FULL TABLES FROM `dbname` LIKE 'PROBABLYNOT'

Идентификатор потока 103701 можно найти в начале или в позиции номер 3 (после даты и времени). Я использую следующую команду, чтобы найти все запросы, выполняемые в конкретном потоке.

grep -w '103701' /var/log/mysql/general.log | cut -c 1-1000 | хвост -10

Это показывает множество строк, где упоминается номер 103701. Я ищу этот номер только на первой или третьей позиции. Какая должна быть правильная инструкция grep для этого?

Ты можешь использовать awk сделать это:

$ awk '$1 == "103701" || $3 == "103701" { print $0 }' mysql-general.log