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
命令的功能和目的:
把【行列整齐字符串】转换成【PSCustomObject】
powershell 传教士 原创文章 2016-01-06 允许转载,但必须保留名字和出处,否则追究法律责任 ConvertFrom-String
脚本必然要进行文本处理,文本处理又没有什么通用的规律可循。祖师爷发明的【模板】法真是太爽了!
字符串变成对象属性后,粒度变小了,并且很容易输出到数据库,excel中,为行列转换提供数据了。
那是一条神奇的天路啊啊~~,令字符的输出变成对象~~,
从此那山不再高,扣输出不再难,字符和对象欢聚一堂。
-------模板的具体制作方法-------
模板中,把要分列的内容,用大括号【{}】扩起来,里面加一个冒号,冒号前面是你定义的【属性名】,冒号后面是【属性值】
每行第一个【属性名】后面要加上【*】,【模板行】至少要有两行例子,至少要有两个【*】,
例子的距离和真实数据的距离,不用一样。如:
真实数据:
0.027 0.034<-- 这里是距离,有n个空格 -->0.834 0.105
模板:
{字段名1*:0.027} {字段名2:0.034}<-- 这里是距离,用一个空格,或一个tab即可 --> {字段名3:0.834} 0.105
-------其他例子-------
$返回数据 = @(netstat -an )
$返回数据 -replace '^\s+' | ConvertFrom-String -PropertyNames 协议, 本地IP端口, 外部IP端口, 状态
-------感谢 群友 小楼 分享的例子-------
#Requires -Version 5.0
$s=@"
张三
25
李四
34
王五
12
赵六
65
"@
$t=@"
{Name*:张三}
{Age:25}
{Name*:李四}
{Age:34}
"@
$s | ConvertFrom-String -TemplateContent $t
结果:
Name Age
---- ---
张三 25
李四 34
王五 12
赵六 65
【长老】[小楼](55589641) 12:48:37
ConvertFrom-String的作用是提取文本中的有用信息,转为psobject
$t=@"
SSID 1 : {bssid*:abcabc}
Network type : 结构
身份验证 : 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 : 结构
身份验证 : 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
结果:
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
转载于:https://www.cnblogs.com/piapia/p/5089332.html
ConvertFrom-String 命令研究相关推荐
- 图解用tree命令研究Windows目录、.net目录、项目目录、JDK目录
一 用tree命令研究目录 有些目录下内容很多,都不太搞的清楚,可以用tree命令研究下: 首先调个柔和些的控制台颜色,RGB(50,50,50): 下面第一条把Windows目录(含文件)结构输出到 ...
- TCL语言笔记:TCL中的String命令
一.介绍 字符串是 Tcl 中的基本数据类型,所以有大量的字符串操作命令.一个比较重要的问题就是模式匹配,通过模式匹配将字符串与指定的模式(格式)相匹配来进行字符串的比较.搜索等操作. 二.strin ...
- mset redis_redis mset string 命令简介
一.命令简介 mset string命令在redis中主要功能是: 可以通过一条命令对多个键进行赋值操作, 类似与一次执行多条set命令 二.命令使用说明 命令语法如下: redis 192.168. ...
- Linux工具篇 | Ubuntu安装string命令
一.string命令安装 执行如下命令: $ sudo apt-get install binutils 二.GNU binutils GNU binutils是一组二进制工具集.包括:addr2li ...
- Redis源码-String:Redis String命令、Redis String存储原理、Redis String三种编码类型、Redis字符串SDS源码解析、Redis String应用场景
Redis源码-String:Redis String命令.Redis String存储原理.Redis String三种编码类型.Redis字符串SDS源码解析.Redis String应用场景 R ...
- PML调用PDMS内核命令研究
一. 概述 本文介绍通过PMLNET包装PDMS的内核命令, 实现pml调用常用的内置Command命令. 二. 实现方法 写一个PMLNET的dll, 开放一个callback(string com ...
- FFMPEG转码常用命令研究
ffmpeg简介 官网链接是http://www.ffmpeg.org/上有说明,它是音视频的分离,转换,解码的完全解决方案. 其中最重要的就是libavcodec库.它被mplayer或者xine ...
- GoldenGate的ADD SCHEMATRANDATA命令研究
[背景] Oracle Database 11.2.0.3,单机,测试环境 测试证实Oracle GoldenGate的命令ADD SCHEMATRANDATA能否自动处理附加日志,而无需人工干预 [ ...
- Redis String命令大全
设置 序号 命令 简介 1 set key value 设置键的值 2 mset key value [key value -] 批量设置key的值 3 setnx key value 当key不存在 ...
最新文章
- SpringBoot学习之启动方式
- js数组中forEach/some/every/map/filter/reduce的区别
- 以下关于python的赋值_单选(1分) 以下关于Python的赋值说法中错误的是哪一个选项?...
- java基础之堆、栈、方法区 继承 多态
- Cortex - M3 中断和异常的区别
- 第三次学JAVA再学不好就吃翔(part19)--二维数组
- Python:使用SWIG编写C语言扩展
- Webpack 4进阶--从前的日色变得慢 ,一下午只够打一次包
- python写一个类方法_python中如何写类
- Linux下清空回收站
- 截图工具FastStone Capture
- vmware7序列号
- speedoffice(Excel)表格如何添加边框?
- 马斯克喊话库克:昨天你对我爱答不理,今天我让你高攀不起
- VMware Workstation虚拟机环境下Xubuntu系统如何设置中文
- 深度卷积神经网络架构:从基本组件到结构创新
- httpsclient 自动获取证书 无证书访问 验证过能直接用
- 程序集定义(Assembly Definition File)
- Linux-无密码访问、远程拷贝、无密码登录
- 3D点云初探:基于全卷积神经网络实现3D物体识别