免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2939 | 回复: 3

[文本处理] 如何使用Powershell取相应的输出的某一个字符串? [复制链接]

论坛徽章:
5
程序设计版块每日发帖之星
日期:2016-04-15 06:20:00每日论坛发贴之星
日期:2016-04-15 06:20:0015-16赛季CBA联赛之八一
日期:2016-07-08 09:20:28操作系统版块每日发帖之星
日期:2016-08-03 06:20:002016科比退役纪念章
日期:2016-10-30 13:59:12
发表于 2018-07-13 11:31 |显示全部楼层
本帖最后由 274920831 于 2018-07-13 11:33 编辑

当我使用这个命令时
ipptool -tv -I -d "doc-uri=http://www.nice.com/123.txt"

有如下输出:
media-col (collection) = {media-source=auto}   

job-uri (uri) = ipp://192.168.0.1/ipp/print/job-0030
   
job-id (integer) = 30   


job-state (enum) = processing   


job-state-reasons (keyword) = none   

STATUS = server-error-busy (server-error-busy)

我在stackflow上提出问题:如何取到job-id的值 30 。
他们给出的回复是:

Using Select-String:

$ipptool = $(ipptool -tv -I -d "doc-uri=http://www.nice.com/123.txt")

[Int]($ipptool | Select-String "job-id \(integer\) =\s*(\d+)").Matches.Groups[1].Value


那如果现在我想取server-error-busy ,这个server-error-busy是这一行

STATUS = server-error-busy (server-error-busy)

的 = 号后面的server-error-busy,使用什么方法可以取到这个值?




论坛徽章:
0
发表于 2018-07-13 13:05 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
5
程序设计版块每日发帖之星
日期:2016-04-15 06:20:00每日论坛发贴之星
日期:2016-04-15 06:20:0015-16赛季CBA联赛之八一
日期:2016-07-08 09:20:28操作系统版块每日发帖之星
日期:2016-08-03 06:20:002016科比退役纪念章
日期:2016-10-30 13:59:12
发表于 2018-07-13 21:36 |显示全部楼层
回复 2# 本友会机友会摄友会


$output=ipptool -tv -I -d "doc-uri=https://www.123.com/123.pcl" http://10.10.10.10/ipp/printers "D:\GIA\URL_A4_PCL.test"
$sby=$output|Select-String "server-error-busy"
$se=$sby.split('=')[1].trim()
$seb=$se.split('(')[0].trim()


如果是正常情况的话,$output的输出的值为:
status-code = success-ok
如果出错的话,$output的输出为:
status-code = server-error-busy

但是目前$output是正常的情况,即:status-code = success-ok

当程序运行到这里的时候: $se=$sby.split('=')[1].trim(),报错:

不能对 Null 值表达式调用方法。
所在位置 D:\PowreShell\script.ps1:10 字符: 1
+ $se=$sby.split('=')[1].trim()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: ( [],RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

但是 status-code = server-error-busy 这种情况也会出现,请问我应该如何来解决上面的NULL值的这个问题?


论坛徽章:
0
发表于 2018-07-14 15:14 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP