os windows xp
C:\>getmac
實體位址 傳輸名稱
=================== ==========================================================
00-E0-18-99-DF-C9 \Device\Tcpip_{7DFB7B9F-04AA-4FC5-A225-EED5B598C551}
是否有辦法只要擷取 {7DFB7B9F-04AA-4FC5-A225-EED5B598C551}這個字串
試了許多指令都沒有辦法
EX:
getmac | find "{"
00-E0-18-99-DF-C9 \Device\Tcpip_{7DFB7B9F-04AA-4FC5-A225-EED5B598C551}
getmac | findstr "{"
00-E0-18-99-DF-C9 \Device\Tcpip_{7DFB7B9F-04AA-4FC5-A225-EED5B598C551}
raytracy
2004-06-06, 03:57 PM
最初由 ycl 發表
是否有辦法只要擷取 {7DFB7B9F-04AA-4FC5-A225-EED5B598C551}這個字串
試了許多指令都沒有辦法
印象中, Windows 好像沒有內建的字串處理指令, 您可能要另外安裝 Perl, sed 或 awk 去處理....
dou0228
2004-06-06, 04:06 PM
用 php 吧...
getmac 指令跑起來好慢..
ipconfig /all 配合 php 的 ereg() 就可以了..:D
最初由 raytracy 發表
印象中, Windows 好像沒有內建的字串處理指令, 您可能要另外安裝 Perl, sed 或 awk 去處理....
我有找到 SED for wwindows
http://sed.sourceforge.net/
請問一下如果要用SED 是要如何下指令呢
試了一下,還是摸不出頭緒來
麻煩請不要在PCZONE上使用注音文,請多配合,謝謝~!!
詳情請看版規 (http://www.pczone.com.tw/vbb3/showthread.php?t=10222)
Written by TonyYang
不好意思,下次會改進
raytracy
2004-06-07, 01:22 AM
使用 sed:
getmac | sed -e 's/^.*_//'
可以得到下面的結果:
實體位址 傳輸名稱
======================================
{D0E86535-6863-408D-9ECD-C5121DBC681D}
{8B53CCC6-B423-438E-AC46-2FC32E038E9D}
{831A1BDE-6727-4616-82F9-37062023AB7C}
最初由 raytracy 發表
使用 sed:
getmac | sed -e 's/^.*_//'
可以得到下面的結果:
實體位址 傳輸名稱
======================================
{D0E86535-6863-408D-9ECD-C5121DBC681D}
{8B53CCC6-B423-438E-AC46-2FC32E038E9D}
{831A1BDE-6727-4616-82F9-37062023AB7C}
如果是有一個檔案,內容是由 winipcfg /batch:c:\ip.txt
Windows NT IP Configuration
Ethernet adapter {7DFB7B9F-04AA-4FC5-A225-EED5B598C551}:
IP Address. . . . . . . . . : 192.168.1.2
Subnet Mask . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . : 192.168.1.1
那又如何得知{7DFB7B9F-04AA-4FC5-A225-EED5B598C551}
不知 哪裡有 sed 的相關文件或是範例呢
感謝你的回覆
raytracy
2004-06-09, 12:17 AM
試試:
find "{" ip.txt | sed -e "s/^.* //" | sed -e "s/://"
小弟對 sed 了解不多, 像上面的工作應該可以合併成一個 sed 來做, 但小弟只會用兩個 sed 去做. 您可以參考這裡解說:
http://www.ascc.net/nl/83/1018/03.html
http://www.ascc.net/nl/83/1019/02.txt
不過, 在使用 sed 之前, 您得先學會「正規表示式」: Regular Expression (regex), 因為 sed 的字串比對功能是用 regex 格式來表示的(像上面的「^.* 」就是 regex 語法), 小弟對 regex 也不熟, 您可以研究看看這裡:
http://main.rtfiber.com.tw/~changyj/regex.1/
ps. 還有, 大哥, 上面板主已經出來勸導了, 您發言時要注意一下打字習慣, 因為在這裡的文章還有很多其他地區的華人觀看, 但他們不見得懂注音符號, 所以此處發言「禁止使用注音文」, 像您上面最後寫的那個「ㄋ」(我這是舉例啊! 版主饒命...;)), 就違反了這邊的規定; 您若再不小心, 文章可能會不見天日....:D