作者 主題: shell script SNMP輸出如何合併成一行  (閱讀 7122 次)

0 會員 與 1 訪客 正在閱讀本文。

terayon

  • 可愛的小學生
  • *
  • 文章數: 9
    • 檢視個人資料
shell script SNMP輸出如何合併成一行
« 於: 2006-03-23 15:34 »
請教
有個檔案內容如下
SNMPv2-SMI::enterprises.1.59 = Hex-STRING: 61 61 6C 6E 2F 32
 40 78 31 2D 36 2D 30 30 2D 31
31 2D 38 30 2D 36 61 2D 39 34 2D 37 38 2E 61 70
6F 6C 2E 63 6F 6D 2E 74 77 00
SNMPv2-SMI::enterprises.1.60 = Hex-STRING: 61 61 6C 6E 2F 31
 40 5B 31 30 2E 31 30 30 2E 32
33 2E 32 35 30 5D 00
要如何寫個shell script將其變成只有兩行
因為SNMP輸出的資料有的有三行 有的有兩行,
想把SNMP到下一個SNMP之前的資料變成一行

遇到瓶頸 :-?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
shell script SNMP輸出如何合併成一行
« 回覆 #1 於: 2006-03-23 15:48 »
試試看在你的 script 後面加上:
 | xargs | sed 's/SNMPv2-SMI/\n&/g' | tail +2

terayon

  • 可愛的小學生
  • *
  • 文章數: 9
    • 檢視個人資料
shell script SNMP輸出如何合併成一行
« 回覆 #2 於: 2006-03-24 11:16 »
試過了 不行耶
有沒有高手有其他方法

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
shell script SNMP輸出如何合併成一行
« 回覆 #3 於: 2006-03-24 13:28 »
恩?
你將 command line 跟結果貼上來看看?

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
shell script SNMP輸出如何合併成一行
« 回覆 #4 於: 2006-03-24 14:24 »
引述: "terayon"
試過了 不行耶
有沒有高手有其他方法


我試過, 是可以的

terayon

  • 可愛的小學生
  • *
  • 文章數: 9
    • 檢視個人資料
shell script SNMP輸出如何合併成一行
« 回覆 #5 於: 2006-03-24 16:48 »
cat ./out | xargs | sed 's/SNMPv2-SMI/\n&/g' | tail +2 > out1
vi out1是空白的  沒有看到有變成我希望的格式

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
shell script SNMP輸出如何合併成一行
« 回覆 #6 於: 2006-03-25 10:23 »
你的 out1 內, 還是原本的格式?
有沒有找第二台機試?
我試過你的那個指令是可行的

terayon

  • 可愛的小學生
  • *
  • 文章數: 9
    • 檢視個人資料
shell script SNMP輸出如何合併成一行
« 回覆 #7 於: 2006-03-28 09:57 »
輸出檔out1裡面都是空白的
#!/sbin/sh
cat ./out | xargs | sed 's/SNMPv2-SMI/\n&/g' | tail +2 > out1

輸入檔out
SNMPv2-SMI::enterprises.58 = Hex-STRING: 61 61 6C 6E 2F 32
 40 5B 31 30 2E 33 2E 35 2E 36
31 5D 00
SNMPv2-SMI::enterprises.59 = Hex-STRING: 61 61 6C 6E 2F 32
 40 78 31 2D 36 2D 30 30 2D 31
31 2D 38 30 2D 36 61 2D 39 34 2D 37 38 2E 61 70
6F 6C 2E 63 6F 6D 2E 74 77 00
SNMPv2-SMI::enterprises.60 = Hex-STRING: 61 61 6C 6E 2F 31
 40 5B 31 30 2E 31 30 30 2E 32
33 2E 32 35 30 5D 00

terayon

  • 可愛的小學生
  • *
  • 文章數: 9
    • 檢視個人資料
shell script SNMP輸出如何合併成一行
« 回覆 #8 於: 2006-03-28 09:58 »
試過另外一台Sun Solaris也是一樣

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
shell script SNMP輸出如何合併成一行
« 回覆 #9 於: 2006-03-28 14:34 »
哦. 可能你不是用 linux 吧?
最好確定一下用的工具是 gnu 版本的.

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
shell script SNMP輸出如何合併成一行
« 回覆 #10 於: 2006-03-28 15:12 »
我試過我的 solaris, 連結果和錯誤也沒有一_一
空白一片

terayon

  • 可愛的小學生
  • *
  • 文章數: 9
    • 檢視個人資料
shell script SNMP輸出如何合併成一行
« 回覆 #11 於: 2006-03-28 17:39 »
已解決此問題  感謝各位高手指導
雖然多用了些步驟才做成 還是感謝各位的開導