作者 主題: 請問關於特殊字元在搜尋的問題  (閱讀 5713 次)

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

will

  • 懷疑的國中生
  • **
  • 文章數: 73
    • 檢視個人資料
請問關於特殊字元在搜尋的問題
« 於: 2006-08-04 16:21 »
小弟想用mac 追到 switch 的 port ,但是遇到了下面的問題,當我查到了   GigabitEthernet6/7  ,想再以  GigabitEthernet6/7 去查到  Gig 6/7 那一行的 第一個字串,也就是  I_SW  時,如下:


HCTHQ-Primary#sh mac- | inc 4823
  10    0015.f221.4823   dynamic ip                     GigabitEthernet6/7


I_SW             Gig 6/7            169          S I      WS-C2950T-Gig 0/1
C_SW             Gig 6/5            133          S I      WS-C2950T-Gig 0/1
B_SW             Gig 6/2            177          S I      WS-C2950T-Gig 0/1


我的問題就在於  Gig 6/7  包含一個空白和 /   ,
我用sed 的話,就得改成 'Gig\ 6\/7'
我的作法如下:
sed s/GigabitEthernet/Gig'\\\ '/ | sed s/'\/'/   ???   /
 
但是在把 /  換成  \/ 卻不知道該怎麼做,有更好的方法可以達成這個目的嗎? 謝謝!!

will

  • 懷疑的國中生
  • **
  • 文章數: 73
    • 檢視個人資料
請問關於特殊字元在搜尋的問題
« 回覆 #1 於: 2006-08-07 19:32 »
我的意思是,如果要用sed 去把   "6/7"  換成 "6\/7" 這樣的字串時, 該怎麼下??我一直試不出來…

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5409
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
請問關於特殊字元在搜尋的問題
« 回覆 #2 於: 2006-08-07 20:47 »
像這樣?

代碼: [選擇]
tommy@fw2:~$ echo " 10 0015.f221.4823 dynamic ip GigabitEthernet6/7 " | sed 's/GigabitEthernet/Gig\\\ /' | sed 's/\//\\\//'
 10 0015.f221.4823 dynamic ip Gig\ 6\/7
tommy@fw2:~$

will

  • 懷疑的國中生
  • **
  • 文章數: 73
    • 檢視個人資料
請問關於特殊字元在搜尋的問題
« 回覆 #3 於: 2006-08-07 22:04 »
是的,原來可以把整串包進去喔!  小弟不知可以這樣用…

但是小弟還有一個地方不懂的:

為何這樣可以:
echo GigabitEthernet6/7 | sed 's/GigabitEthernet/Gig\\\ /' | sed 's/\//\\\//'



但是這樣就不行:
P=`echo GigabitEthernet6/7 | sed 's/GigabitEthernet/Gig\\\ /' | sed 's/\//\\\//'`
echo $P

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5409
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
請問關於特殊字元在搜尋的問題
« 回覆 #4 於: 2006-08-08 08:43 »
改用 " 就可以了.

代碼: [選擇]
P=`echo GigabitEthernet6/7 | sed "s/GigabitEthernet/Gig\\\ /" | sed "s/\//\\\//"`
echo $P

will

  • 懷疑的國中生
  • **
  • 文章數: 73
    • 檢視個人資料
請問關於特殊字元在搜尋的問題
« 回覆 #5 於: 2006-08-08 20:25 »
可是,如果改用"
那結果就變成    Gig 6/7
而不是   Gig\ 6\/7  了…

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17478
    • 檢視個人資料
    • http://www.study-area.org
請問關於特殊字元在搜尋的問題
« 回覆 #6 於: 2006-08-08 20:39 »
將 `.....` 改成 $(....)
因為 ` ` 對 \ 處理是不同的.

will

  • 懷疑的國中生
  • **
  • 文章數: 73
    • 檢視個人資料
請問關於特殊字元在搜尋的問題
« 回覆 #7 於: 2006-08-08 20:57 »
受教了,真是深奧的東西啊!小弟功力太淺了,老是卡住