![比较第一或第三的位置](https://linux22.com/image/559361/%E6%AF%94%E8%BE%83%E7%AC%AC%E4%B8%80%E6%88%96%E7%AC%AC%E4%B8%89%E7%9A%84%E4%BD%8D%E7%BD%AE.png)
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 位(日期时间之后)找到,我使用以下命令查找在特定线程中执行的所有查询。
grep -w'103701'/var/log/mysql/general.log|cut-c 1-1000|tail-10
这显示了很多提到 103701 号码的行。我只在第一个或第三个位置寻找这个号码。正确的 grep 语句应该是什么?
答案1
您可以使用awk
以下方法来执行此操作:
$ awk '$1 == "103701" || $3 == "103701" { print $0 }' mysql-general.log