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

Chinaunix

標(biāo)題: 解析FTP日志,報(bào)錯(cuò)grep:0652-033 無(wú)法打開(kāi) complete [打印本頁(yè)]

作者: 西任    時(shí)間: 2011-08-18 10:35
標(biāo)題: 解析FTP日志,報(bào)錯(cuò)grep:0652-033 無(wú)法打開(kāi) complete
求大俠幫忙:使用grep 查找FTP日志中成功采集的文件,命令如下:
grep -b 3 '226 Transfer complete.' ftp_transfer.log

總是報(bào)錯(cuò):grep:0652-033 無(wú)法打開(kāi) '226 Transfer complete.
測(cè)試了一下,這個(gè)本身和要查找的字符串沒(méi)關(guān)系,主要問(wèn)題出在 -b 3 的參數(shù)上,我的環(huán)境是AIX 5.3
bash,請(qǐng)問(wèn)這個(gè)報(bào)錯(cuò)啥意思? 如何解決呀?


作者: rdcwayx    時(shí)間: 2011-08-18 10:39
本帖最后由 rdcwayx 于 2011-08-18 10:43 編輯

-b
            Precedes each line by the block number on which it was found. Use this flag to help find disk block numbers by context. The -b flag cannot be used with input from stdin or pipes.

這個(gè)參數(shù)是你要的嗎? 好像去掉后面的數(shù)字命令反而成功了。應(yīng)該是不用跟數(shù)字的吧。
作者: liion631818    時(shí)間: 2011-08-18 10:45
-b 用法錯(cuò)了吧
作者: ywlscpl    時(shí)間: 2011-08-18 10:46
-B   ?
作者: rdcwayx    時(shí)間: 2011-08-18 13:09
agree. 應(yīng)該是想要匹配前三行的。

       -B NUM, --before-context=NUM
              Print  NUM  lines  of  leading  context  before  matching  lines.   Places  a line
              containing a group separator (--) between contiguous groups of matches.  With  the
              -o or --only-matching option, this has no effect and a warning is given.

但是 AIX grep 缺省是不支持 -B, -A 的
作者: ywlscpl    時(shí)間: 2011-08-18 14:32
用awk試試

ywlscpl@ubuntu:~$ cat o
1
2
3
4
5
6
xxx
7
8
9
xxx
10
ywlscpl@ubuntu:~$ awk '/xxx/{print v1"\n"v2"\n"v3"\n"$0;v1=v2=v3""}{v1=v2;v2=v3;v3=$0}' o
4
5
6
xxx
7
8
9
xxx
作者: ywlscpl    時(shí)間: 2011-08-18 15:13
一個(gè)更通用的辦法模擬grep -B
  1. ywlscpl@ubuntu:~$ cat o
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. xxx
  9. 7
  10. 8
  11. 9
  12. xxx
  13. 10
  14. ywlscpl@ubuntu:~$ awk -v n=3 '{m=NR%n}/xxx/{for (i=m;i<n;i++) print a[i];if (m) for (i=0;i<m;i++) print a[i];print}{a[m]=$0}' o
  15. 4
  16. 5
  17. 6
  18. xxx
  19. 7
  20. 8
  21. 9
  22. xxx
  23. ywlscpl@ubuntu:~$
  24. ywlscpl@ubuntu:~$ awk -v n=2 '{m=NR%n}/xxx/{for (i=m;i<n;i++) print a[i];if (m) for (i=0;i<m;i++) print a[i];print}{a[m]=$0}' o
  25. 5
  26. 6
  27. xxx
  28. 8
  29. 9
  30. xxx
復(fù)制代碼

作者: yinyuemi    時(shí)間: 2011-08-18 15:34
  1. awk -vRS="xxx" -vn=3 'RT{for(i=NF-n+1;i<=NF;i++)printf (i>0)?$i"\n":"";print RS}'
復(fù)制代碼

作者: 西任    時(shí)間: 2011-08-18 19:49
一個(gè)更通用的辦法模擬grep -B
ywlscpl 發(fā)表于 2011-08-18 15:13



謝謝白云。
測(cè)試了一下AIX 確實(shí)不支持 -B 只支持 -b
如果不加數(shù)字 3 執(zhí)行不會(huì)報(bào)錯(cuò),但是也找不到向上3行,后來(lái)由于文件內(nèi)部有首級(jí)錄是記錄數(shù)
我用這個(gè)記錄數(shù)和wc -l 驗(yàn)證了文件是否采集成功,比較笨。

剛才過(guò)來(lái)看到 白云提供的辦法,決定試試,還是從解析采集日志來(lái)判斷是否成功

謝謝大家了:)
作者: 西任    時(shí)間: 2011-08-18 19:52
yinyuemi 發(fā)表于 2011-08-18 15:34



    謝謝:)
作者: rdcwayx    時(shí)間: 2011-08-19 08:12
剛才過(guò)來(lái)看到 白云提供的辦法,決定試試,還是從解析采集日志來(lái)判斷是否成功
西任 發(fā)表于 2011-08-18 19:49



或許你貼出些實(shí)例來(lái),這樣大家回答的更有針對(duì)性。




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