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'
线程ID 103701可以在开始或3号位置(date时间之后)find我正在使用以下命令查找在特定线程中执行的所有查询。
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