ConvertFrom-String 命令研究
?
-------先上個例子-------
$aaa =
@'
0.027 0.034 0.834 0.105
0.346 0.558 0.018 0.078
0.001 0.997 0.001 0.001
0.994 0.001 0.004 0.001
0.001 0.996 0.002 0.001
0.001 0.001 0.997 0.001
0.001 0.009 0.001 0.989
0.051 0.111 0.837 0.001
'@
$t =
@'
{字段名1*:0.027} {字段名2:0.034} {字段名3:0.834} {字段名4:0.105}
{字段名1*:0.346} 0.558 0.018 0.078
'@
#【字段名】也可以叫【屬性名】
$bbb = $aaa | ConvertFrom-String -TemplateContent $t
$bbb |Format-Table -AutoSize
-------命令解釋-------
ConvertFrom-String
命令的功能和目的:
把【行列整齊字符串】轉(zhuǎn)換成【PSCustomObject】
powershell 傳教士 原創(chuàng)文章 2016-01-06 允許轉(zhuǎn)載,但必須保留名字和出處,否則追究法律責(zé)任 ConvertFrom-String
腳本必然要進行文本處理,文本處理又沒有什么通用的規(guī)律可循。祖師爺發(fā)明的【模板】法真是太爽了!
字符串變成對象屬性后,粒度變小了,并且很容易輸出到數(shù)據(jù)庫,excel中,為行列轉(zhuǎn)換提供數(shù)據(jù)了。
那是一條神奇的天路啊啊~~,令字符的輸出變成對象~~,
從此那山不再高,扣輸出不再難,字符和對象歡聚一堂。
?
-------模板的具體制作方法-------
?
模板中,把要分列的內(nèi)容,用大括號【{}】擴起來,里面加一個冒號,冒號前面是你定義的【屬性名】,冒號后面是【屬性值】
每行第一個【屬性名】后面要加上【*】,【模板行】至少要有兩行例子,至少要有兩個【*】,
例子的距離和真實數(shù)據(jù)的距離,不用一樣。如:
真實數(shù)據(jù):
0.027 0.034<-- 這里是距離,有n個空格 -->0.834 0.105
模板:
{字段名1*:0.027} {字段名2:0.034}<-- 這里是距離,用一個空格,或一個tab即可 --> {字段名3:0.834} 0.105
?
-------其他例子-------
$返回數(shù)據(jù) = @(netstat -an )
$返回數(shù)據(jù) -replace '^\s+' | ConvertFrom-String -PropertyNames 協(xié)議, 本地IP端口, 外部IP端口, 狀態(tài)
?
?
-------感謝 群友 小樓 分享的例子-------
#Requires -Version 5.0
$s=@"
張三
25
李四
34
王五
12
趙六
65
"@
$t=@"
{Name*:張三}
{Age:25}
{Name*:李四}
{Age:34}
"@
$s | ConvertFrom-String -TemplateContent $t
結(jié)果:
Name Age
---- ---
張三 25
李四 34
王五 12
趙六 65
【長老】[小樓](55589641) 12:48:37
ConvertFrom-String的作用是提取文本中的有用信息,轉(zhuǎn)為psobject
$t=@"
SSID 1 : {bssid*:abcabc}
Network type : 結(jié)構(gòu)
身份驗證 : WPA2 - 個人
加密 : CCMP
BSSID 1 : {macaddress:aa:bb:08:11:33:3c}
信號 : 83%
無線電類型 : 802.11n
頻道 : 3
基本速率(Mbps) : 1 2 5.5 11
其他速率(Mbps) : 6 9 12 18 24 36 48 54
SSID 2 : {bssid*:defdef}
Network type : 結(jié)構(gòu)
身份驗證 : WPA2 - 個人
加密 : CCMP
BSSID 1 : {macaddress:cc:dd:e4:7a:c4:d8}
信號 : 64%
無線電類型 : 802.11n
頻道 : 6
基本速率(Mbps) : 1 2 5.5 11
其他速率(Mbps) : 6 9 12 18 24 36 48 54
"@
netsh wlan show network mode=bssid | ConvertFrom-String -TemplateContent $t
【長老】[小樓](55589641) 12:55:47
結(jié)果:
bssid macaddress
----- ----------
abc-internet b4:a4:e3:65:ea:60
sannongziben1 00:22:aa:ad:0b:44
abcd 64:f6:9d:d5:e4:40
abc-BYOD 64:f6:9d:d5:e4:42
abc-GUEST 64:f6:9d:d5:e4:41
sharmoon 78:a1:06:58:6d:82
sannongziben666 00:22:aa:ad:1c:d8
TP-LINK-88SL ec:26:ca:30:78:dc
abcde 00:1f:33:de:22:ae
TP-LINKlongten 14:75:90:bd:9a:cc
weijin 14:75:90:43:96:fe
CTC-INTER 14:cf:92:62:76:d4
D-Link_DIR-600M 34:08:04:7d:2a:b1
?
轉(zhuǎn)載于:https://www.cnblogs.com/piapia/p/5089332.html
總結(jié)
以上是生活随笔為你收集整理的ConvertFrom-String 命令研究的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《A First Course in P
- 下一篇: APP性能测试之GT 测试