亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 如何將grep找到的顯示行和之前的兩行內(nèi)容內(nèi)容過濾掉? [打印本頁]

作者: djzhangxing    時間: 2014-10-17 01:00
標題: 如何將grep找到的顯示行和之前的兩行內(nèi)容內(nèi)容過濾掉?
本帖最后由 djzhangxing 于 2014-10-17 01:14 編輯

原文本

  1. [root@test]#cat file
  2. Trying 220.181.112.244...
  3. Connected to 220.181.112.244.
  4. Escape character is '^]'.
  5. Trying 8.8.8.8...
  6. Trying 220.181.138.29...
  7. Connected to 220.181.138.29.
  8. Escape character is '^]'.
  9. Trying 220.181.138.29...

  10. #################
  11. #我想的結(jié)果
  12. [root@test]#cat result
  13. Trying 8.8.8.8...
  14. Trying 220.181.138.29...
復制代碼
這個結(jié)果是我寫的一個腳本,來判斷端口是否存活。grep -B 能顯示找到的當前行和指定的前幾行(如下文第一個結(jié)果),但是這些是我想過濾掉的,我用grep -Bv 、grpe -FvB都不行,該如何過濾掉呢?
  1.                   ###這些內(nèi)容是代表端口存活,我想過濾掉
  2. [root@test]#cat file|grep -B 2 '\]'
  3. Trying 220.181.112.244...
  4. Connected to 220.181.112.244.
  5. Escape character is '^]'.
  6. --
  7. Trying 220.181.138.29...
  8. Connected to 220.181.138.29.
  9. Escape character is '^]'.

  10. [root@test]#cat file|grep -vB 2 '\]'                ###沒效果
  11. Trying 220.181.112.244...
  12. Connected to 220.181.112.244.
  13. Escape character is '^]'.
  14. Trying 8.8.8.8...
  15. Trying 220.181.138.29...
  16. Connected to 220.181.138.29.
  17. Escape character is '^]'.
  18. Trying 220.181.138.29...

  19. [root@test]#cat result.log |grep -FvB 2 '\]'    ###沒效果
  20. Trying 220.181.112.244...
  21. Connected to 220.181.112.244.
  22. Escape character is '^]'.
  23. Trying 8.8.8.8...
  24. Trying 220.181.138.29...
  25. Connected to 220.181.138.29.
  26. Escape character is '^]'.
  27. Trying 220.181.138.29...

  28. [root@test]#cat file|grep -Bv 2 '\]'               ###不支持
  29. grep: v: invalid context length argument

復制代碼
我自己寫的測試端口腳本如下,(指定IP,指定端口)如果需要參考,有問題,望指導哈。

  1. [root@test]#cat port.sh
  2. #!/bin/bash
  3. cat /dev/null >file
  4. while read ip port
  5. do
  6. (telnet $ip $port <<EOF >>/root/zx/test/file)>/dev/null 2>&1
  7. quit
  8. EOF
  9. done<ip.txt

  10. [root@test]#cat ip.txt                #第一列IP,第二列port
  11. 220.181.112.244 80
  12. 8.8.8.8 80
  13. 220.181.138.29 80
  14. 220.181.138.29 808
復制代碼

作者: ly5066113    時間: 2014-10-17 08:45
回復 1# djzhangxing


try:
  1. #! /bin/bash

  2. while read line
  3. do
  4.         nc -w 10 -z $line > /dev/null 2>&1
  5.         if [ $? -eq 0 ]
  6.         then
  7.                 echo "$line : OK"
  8.         else
  9.                 echo "$line : FAIL"
  10.         fi
  11. done < ip.txt > file
復制代碼

作者: yinyuemi    時間: 2014-10-17 08:49
回復 1# djzhangxing


    sed 'H;/]/{x;s/\(\n[^\n]\+\)\{2\}\n[^\n]\+$//;h};${x;s/\n//p};d'
作者: chengchow    時間: 2014-10-17 09:27
  1. sed -rn '/Trying/{N;/Trying.*Trying/p}' file
  2. Trying 8.8.8.8...
  3. Trying 220.181.138.29...
復制代碼

作者: djzhangxing    時間: 2014-10-17 09:53
灰常感謝,新學個方式,不交互的簡單些。剛剛看了一個帖子,貼上。〗o大家和自己留著記錄

Linux下利用nc命令來監(jiān)控檢測服務器的端口使用情況
http://huangrs.blog.51cto.com/2677571/967512/
回復 2# ly5066113


   
作者: djzhangxing    時間: 2014-10-17 09:53
好多哈,正則微弱,我仔細看看,謝謝!回復 3# yinyuemi


   
作者: djzhangxing    時間: 2014-10-17 09:54
回復 4# chengchow


   
作者: 聆雨淋夜    時間: 2014-10-17 10:03
nc -v -w2 8.8.8.8
w2表示連接2秒后中斷




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2