Grep

比較第一或第三位置

  • August 24, 2011

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 | 切-c 1-1000 | 尾巴 -10

這顯示了很多行,其中提到了 103701 數字。我只在第一或第三位置尋找這個數字。正確的 grep 語句應該是什麼?

您可以使用它awk來執行此操作:

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

引用自:https://serverfault.com/questions/304443