查詢子串
[root@gc1 ~]# grep 'request url:http:' text.sh| sed 's/^.*url:http:\/\///g'|awk -F ":" '{print $1}'|uniq -c’
---先過濾掉沒帶子串的行
6 132.77.49.23
8 132.77.49.24
或方法:
[root@gc1 ~]# grep 'request url:http:' text.sh | sed 's/^.*url:http:\/\///g;s/:8003.*$//g'|uniq -c
-----將子串前面後面的全部替換為空
6 132.77.49.23
8 132.77.49.24
request url:http: 需要查詢的子串的前面的一些關鍵字(這針對的是子串是變換的,如果子串固定,可直接寫子串)
^.*url:http:\/\/ 將子串前面的字元全部替換為空,\是轉義,當有元字元時使用,不復雜可不用
awk -F ":" '{print $1}' :將子串後面的第一個設定為區域分割符 列印出第一個域(即子串)
總結成萬能的寫法即是:
[root@gc1 ~]# grep '子串' text.sh | sed 's/^.*子串前面一段//g;s/子串後面一段.*$//g'|uniq -c
補充簡單方法://和:8003分別是子串前後的
[rootgc1:/root/scripts]$ more file|grep -oP "(?<=//).*(?=:8003.*)"|sort -nr
132.77.49.24
132.77.49.23
主要應用於生產系統上比較有規律的日誌啥的,如下(要查詢的子串就是ip,IP在變):
[375][threadname:http-8003-Processor1700][level:INFO][time:2015-03-09 09:56:36,820]request url:http://132.77.49.23:8003/OSN/BipRecei
ve/1100
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]ProcessHandler Class:com.unicom.tradeswitch.sn.Proces
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]conv_id:UPAYpsns1103021201503091005414806520150309095
635815 session:com.unicom.tradeswitch.sn.util.SNSession@e11c8b
[375][threadname:http-8003-Processor1700][level:INFO][time:2015-03-09 09:56:36,820]request url:
ve/1100
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]ProcessHandler Class:com.unicom.tradeswitch.sn.Proces
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]conv_id:UPAYpsns1103021201503091005414806520150309095
635815 session:com.unicom.tradeswitch.sn.util.SNSession@e11c8b
[375][threadname:http-8003-Processor1700][level:INFO][time:2015-03-09 09:56:36,820]request url:
ve/1100
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]ProcessHandler Class:com.unicom.tradeswitch.sn.Proces
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]conv_id:UPAYpsns1103021201503091005414806520150309095
635815 session:com.unicom.tradeswitch.sn.util.SNSession@e11c8b
[375][threadname:http-8003-Processor1700][level:INFO][time:2015-03-09 09:56:36,820]request url:http://132.77.49.24:8003/OSN/BipRecei
ve/1100
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]ProcessHandler Class:com.unicom.tradeswitch.sn.Proces
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]conv_id:UPAYpsns1103021201503091005414806520150309095
635815 session:com.unicom.tradeswitch.sn.util.SNSession@e11c8b
。。。。。
。。。。。
。。。。。
。。。。。
---先過濾掉沒帶子串的行
6 132.77.49.23
8 132.77.49.24
或方法:
[root@gc1 ~]# grep 'request url:http:' text.sh | sed 's/^.*url:http:\/\///g;s/:8003.*$//g'|uniq -c
-----將子串前面後面的全部替換為空
6 132.77.49.23
8 132.77.49.24
request url:http: 需要查詢的子串的前面的一些關鍵字(這針對的是子串是變換的,如果子串固定,可直接寫子串)
^.*url:http:\/\/ 將子串前面的字元全部替換為空,\是轉義,當有元字元時使用,不復雜可不用
awk -F ":" '{print $1}' :將子串後面的第一個設定為區域分割符 列印出第一個域(即子串)
總結成萬能的寫法即是:
[root@gc1 ~]# grep '子串' text.sh | sed 's/^.*子串前面一段//g;s/子串後面一段.*$//g'|uniq -c
補充簡單方法://和:8003分別是子串前後的
[rootgc1:/root/scripts]$ more file|grep -oP "(?<=//).*(?=:8003.*)"|sort -nr
132.77.49.24
132.77.49.23
主要應用於生產系統上比較有規律的日誌啥的,如下(要查詢的子串就是ip,IP在變):
[375][threadname:http-8003-Processor1700][level:INFO][time:2015-03-09 09:56:36,820]request url:http://132.77.49.23:8003/OSN/BipRecei
ve/1100
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]ProcessHandler Class:com.unicom.tradeswitch.sn.Proces
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]conv_id:UPAYpsns1103021201503091005414806520150309095
635815 session:com.unicom.tradeswitch.sn.util.SNSession@e11c8b
[375][threadname:http-8003-Processor1700][level:INFO][time:2015-03-09 09:56:36,820]request url:
ve/1100
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]ProcessHandler Class:com.unicom.tradeswitch.sn.Proces
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]conv_id:UPAYpsns1103021201503091005414806520150309095
635815 session:com.unicom.tradeswitch.sn.util.SNSession@e11c8b
[375][threadname:http-8003-Processor1700][level:INFO][time:2015-03-09 09:56:36,820]request url:
ve/1100
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]ProcessHandler Class:com.unicom.tradeswitch.sn.Proces
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]conv_id:UPAYpsns1103021201503091005414806520150309095
635815 session:com.unicom.tradeswitch.sn.util.SNSession@e11c8b
[375][threadname:http-8003-Processor1700][level:INFO][time:2015-03-09 09:56:36,820]request url:http://132.77.49.24:8003/OSN/BipRecei
ve/1100
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]ProcessHandler Class:com.unicom.tradeswitch.sn.Proces
[375][threadname:pool-1-thread-19732][level:INFO][time:2015-03-09 09:56:36,005]conv_id:UPAYpsns1103021201503091005414806520150309095
635815 session:com.unicom.tradeswitch.sn.util.SNSession@e11c8b
。。。。。
。。。。。
。。。。。
。。。。。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-1470752/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 子串查詢
- Python小技巧 - 子串查詢Python
- 複雜查詢—子查詢
- SQL查詢的:子查詢和多表查詢SQL
- MYsql 子查詢MySql
- MySQL子查詢MySql
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- 區分關聯子查詢和非關聯子查詢
- MySQL之連線查詢和子查詢MySql
- Javaweb-子查詢JavaWeb
- 巢狀子查詢巢狀
- GORM subquery 子查詢GoORM
- MYSQL學習筆記25: 多表查詢(子查詢)[標量子查詢,列子查詢]MySql筆記
- 遞迴查詢子元素遞迴
- 教你使用SQLite 子查詢SQLite
- MySQL 相關子查詢MySql
- 【MySQL】檢視&子查詢MySql
- MYSQL學習筆記26: 多表查詢|子查詢MySql筆記
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- MySQL全面瓦解11:子查詢和組合查詢MySql
- 34. 過濾條件、多表查詢、子查詢
- 子串位置
- Laravel Query Builder 複雜查詢案例:子查詢實現分割槽查詢 partition byLaravelUI
- 什麼是SQL 語句中相關子查詢與非相關子查詢SQL
- exists與in子查詢優化優化
- Oracle OCP(08):使用子查詢Oracle
- 子字串查詢演算法字串演算法
- StoneDB 子查詢最佳化
- Laravel 子查詢語句用法Laravel
- 最長子串
- mysql求交集:UNION ALL合併查詢,inner join內連線查詢,IN/EXISTS子查詢MySql
- PostgreSQL 原始碼解讀(29)- 查詢語句#14(查詢優化-上拉子查詢)SQL原始碼優化
- 30串聯所有單詞的子串
- 原創:oracle 子查詢介紹Oracle
- SQL語言基礎(子查詢)SQL
- sql-server不相關子查詢SQLServer
- sql-server相關子查詢SQLServer
- 最長上升子串
- 子串匹配 BF法