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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471234.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强基计划对计算机,你对报考强基计划怎么看?

原标题&#xff1a;你对报考强基计划怎么看&#xff1f;提起“强基计划”&#xff0c;可能是近期高三家长们、考生们提到最多的话题了&#xff0c;尤其是高校的强基计划招生章程发布之后&#xff0c;关于“强基计划”的咨询量明显上升了许多&#xff0c;那么对于今年第一年实施…

路由算法及路由协议(详解)

一、路由算法 最佳路由&#xff1a;“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。 二、路由算法的分类 三、分层次的路由选择协议 为什么要采用分层次的路由选择协议呢&#xff1f; 因特网规模很大许多单位不想让外界知道自己的路由选择协议&#xff0c;…

LeetCode 2156. 查找给定哈希值的子串(字符串哈希)

文章目录1. 题目2. 解题1. 题目 给定整数 p 和 m &#xff0c;一个长度为 k 且下标从 0 开始的字符串 s 的哈希值按照如下函数计算&#xff1a; hash(s,p,m)(val(s[0])∗p0val(s[1])∗p1...val(s[k−1])∗pk−1)modmhash(s,p,m) (val(s[0])*p^0 val(s[1])*p^1...val(s[k-1])…

二维码扫描利用ZBar实现

上次是根据系统的属性自己封装的一个二维码扫描&#xff0c;这次给大家介绍一下基于ZBar集成的类似于QQ二维码扫描界面的二维码扫描的效果。 最下方配有效果图哦&#xff01; 首先&#xff0c;需要引入ZBar第三方库文件&#xff1a; ZBarSDK libqrencode 其次&#xff0c;利用Z…

十二、一篇文章帮助你快速读懂MySQL索引(B树、B+树详解)

2. 索引 2.1 索引概述 MySQL官方对索引的定义为&#xff1a;索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构&#xff08;有序&#xff09;。在数据之外&#xff0c;数据库系统还维护者满足特定查找算法的数据结构&#xff0c;这些数据结构以某种方式引…

叛乱2正版怎么创服务器,Insurgency Linux Server 叛乱2创建服务器教程(转steam指南)

// ---------------------------------------------------------------// Server Info Options// ---------------------------------------------------------------sv_playlist nwi/pvp_sustained //标准合作sv_pure -1 //支持MODhostname "#2[cn]www.xiongtianqi.cn qu…

LeetCode 2157. 字符串分组(状态压缩+位运算+图的遍历)

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的字符串数组 words 。 每个字符串都只包含 小写英文字母 。words 中任意一个子串中&#xff0c;每个字母都至多只出现一次。 如果通过以下操作之一&#xff0c;我们可以从 s1 的字母集合得到 s2 的字母集合&#xff0c;…

常见的getchar 与EOF的问题

代码中常有类似的如下的输入循环 char c;   while((cgetchar())!EOF).... 如果输入 字符换行时&#xff0c;循环的代码会执行两次&#xff0c;主要是换行键作为字符存到了缓存队列中&#xff0c;第一次c为输入的值&#xff0c;第二次c为换行符 &#xff0c;可以通过fflush(s…

谷歌插件开发ajax请求,chrome插件 注入js以及发送ajax(message/request)

manifest.json 内容知识点包含&#xff1a;* content_scripts注入js&#xff0c;background.scripts用来发送请求(content_scripts禁止发送ajax)* Message 和 Request 区别manifestJavaScript{"name":"Catch your Data","description":"Cat…

JavaScript+ Canvas开发趣味小游戏《贪吃蛇》

一、效果展示 二、《贪吃蛇》基本实现思路 蛇头部分蛇身体部分&#xff1a;采用对象形式来存储坐标&#xff0c;并将每个坐标对象放到一个snake数组中&#xff0c;方便使用。设置每个方格宽度30px,高度30px&#xff0c;画布高度600px&#xff0c;宽度600px。 a.新蛇头newHead等…

LeetCode 2160. 拆分数位后四位数字的最小和

文章目录1. 题目2. 解题1. 题目 给你一个四位 正 整数 num 。请你使用 num 中的 数位 &#xff0c;将 num 拆成两个新的整数 new1 和 new2 。 new1 和 new2 中可以有 前导 0 &#xff0c;且 num 中 所有 数位都必须使用。 比方说&#xff0c;给你 num 2932 &#xff0c;你拥…

jq-实战之表格筛选

css部分 .select{background: #ccc} html部分 table width"80%" cellspacing"0" cellspacing"0" border"1"><thead><th>姓名</th><th>性别</th><th>帅选&#xff1a;<input id"xx&quo…

我的世界怎么设置服务器维护中,我的世界服务器

发布时间&#xff1a;2016-08-26我的世界游戏中我们会遇到关于服务器的问题,怎么对服务器进行重启呢?今天跟大家介绍的这款我的世界工具是一款比较实用的辅助,可以检测服务器状态,而且有查找问题和快速重启服务器的功能,需要的小伙伴请看看下面的我的世界服务器怎么 ...标签&a…

LeetCode 2161. 根据给定数字划分数组

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的整数数组 nums 和一个整数 pivot 。 请你将 nums 重新排列&#xff0c;使得以下条件均成立&#xff1a; 所有小于 pivot 的元素都出现在所有大于 pivot 的元素 之前 。所有等于 pivot 的元素都出现在小于和大于 pivot …

一、人工智能数学基础——线性代数

01 向量空间 1.1定义和例子 1.2向量及其运算 1.3向量组的线性组合 1.4向量组的线性相关性 02 内积和范数 2.1内积的定义 2.2范数的定义 2.3内积的几何解释 03矩阵和线性变换 3.1定义和例子 3.2线性变换 线性空间中的运动&#xff0c;被称为线性变换。线性空间中的一个向量变…

批量裁剪GIS数据(包含GDB,MDB,Shp)

# -*- coding: utf-8 -*- # made by 汪林_质检处 import os.path import arcpy import sys from arcpy import envFCDBDir "E:\\cliptest\\data" output "E:\\Result" clipshp "E:\\cliptest\\clip.shp"GDBAllPath[] # OID字段名称 ShapeOID …

LeetCode 2162. 设置时间的最少代价(枚举)

文章目录1. 题目2. 解题1. 题目 常见的微波炉可以设置加热时间&#xff0c;且加热时间满足以下条件&#xff1a; 至少为 1 秒钟。至多为 99 分 99 秒。 你可以 最多 输入 4 个数字 来设置加热时间。 如果你输入的位数不足 4 位&#xff0c;微波炉会自动加 前缀 0 来补足 4 位…

IEnumerable和IQueryable的区别

IEnumerable<T>在.Net2.0中我们已经很熟悉了.你想要利用Foreach迭代吗?实现 IEnumerable<T>吧!你想直接做为数据源绑定到控件吗?使用IEnumerable吧!是的.只要是序列.它都实现了 IEnumerable<T>(.Net1.0下的序列类除外).除了这些.LINQ的出现.还赋予了 IEnum…

八、操作系统——基本分页存储管理的基本概念(详解)

一、思考&#xff1a;连续分配方式的缺点&#xff1f; 考虑支持多道程序的两种连续分配方式&#xff1a; 固定分区分配&#xff1a;缺乏灵活性&#xff0c;会产生大量的内部碎片&#xff0c;内存的利用率很低。动态分区分配&#xff1a;会产生很多外部碎片&#xff0c;虽然可以…

python 输出 GPU内存 最大使用率

安装 pip install nvidia-ml-py from pynvml import *def nvidia_info():# pip install nvidia-ml-pynvidia_dict {"state": True,"nvidia_version": "","nvidia_count": 0,"gpus": []}try:nvmlInit()nvidia_dict["n…