查詢子串
[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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 子串查詢
- 子串查詢;及排列子串分析
- #103. 子串查詢
- 糖果;及子串查詢分析
- 子串查詢函式strstr函式
- Python小技巧 - 子串查詢Python
- BMH子串查詢演算法(PHP實現)演算法PHP
- 子查詢-表子查詢
- 複雜查詢—子查詢
- SQL查詢的:子查詢和多表查詢SQL
- 相關子查詢&非相關子查詢概念
- MySQL子查詢MySql
- 使用子查詢
- MYsql 子查詢MySql
- oracle子查詢Oracle
- 子查詢分解
- 11子查詢
- sql子查詢SQL
- informix子查詢ORM
- MySQL聯結查詢和子查詢MySql
- select查詢之三:子查詢
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- 區分關聯子查詢和非關聯子查詢
- sql語法相關子查詢與非相關子查詢SQL
- exist-in和關聯子查詢-非關聯子查詢
- MySQL之連線查詢和子查詢MySql
- 巢狀子查詢巢狀
- GORM subquery 子查詢GoORM
- SQL--子查詢SQL
- Oracle with重用子查詢Oracle
- oracle with 子查詢用法Oracle
- select子查詢
- mysql的子查詢MySql
- Javaweb-子查詢JavaWeb
- MYSQL學習筆記25: 多表查詢(子查詢)[標量子查詢,列子查詢]MySql筆記
- 子串位置
- Oracle查詢轉換(五)子查詢展開Oracle
- 關聯查詢子查詢效率簡單比照