首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >where-object Powershell输入参数中的连字符

where-object Powershell输入参数中的连字符
EN

Stack Overflow用户
提问于 2015-10-15 09:52:18
回答 3查看 902关注 0票数 4

我是Powershell的初学者。我有些疑问。我使用作为标签分隔的文本文件,该文本文件是从旧软件生成的。下面是分隔文件的等效版本。从文本文件中,我必须过滤那些具有目标->可观察性§bin作为1的条目。

代码语言:javascript
复制
Time [s]       Offset_Angle        destination->observability§bin
0.00E+00     -0.20402611670286        0.00000000000000E+00
4.32E+02      0.21319658757004        0.00000000000000E+00
8.64E+02      0.26803683992125        0.00000000000000E+00
1.30E+03      2.67379011780784        1.00000000000000E+00
1.73E+03     -2.89704767087971        1.00000000000000E+00
2.16E+03     -2.93302157473406        1.00000000000000E+00

代码片段如下所示

代码语言:javascript
复制
$ap = Import-Csv -Delimiter "`t" -Path E:\Myfiles\textfile.txt

$ap|where-Object {$_.destination->observability§bin -eq "1.00000000000000E+00”}

我第一条线开始工作了。当我执行第二行时,它会抛出一条错误消息。

代码语言:javascript
复制
At line:1 char:34
+ $ap|where-Object {$_.destination->observability§bin
+                                  ~                                   
You must provide a value expression following the '-' operator.
At line:1 char:53
+ ... _.destination->observability§bin -eq '1.0000 ...
+                                      ~~~                                                              
Unexpected token '-eq' in expression or statement.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ExpectedValueExpression

因此,我猜它将输入参数中的'-‘符号作为运算符(Char 34)。我还尝试了一些转义字符,如反勾(`)之前的-标志。但什么也没得到。请帮我处理这个。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-15 10:37:44

你应该把它用引号括起来:

代码语言:javascript
复制
$ap | Where-Object {$_."destination->observability§bin" -eq "1.00000000000000E+00"}

虽然您可能对§字符也有问题

票数 3
EN

Stack Overflow用户

发布于 2015-10-15 10:51:22

尝试使用导入- cmdlet的-header子句为这三个字段提供您自己的名称,并将它们命名为合理的名称。您可能必须对其进行编程,以跳过csv的第一条记录,以防止读取实际的标题,就好像它是第一条记录一样。

票数 2
EN

Stack Overflow用户

发布于 2015-10-15 15:27:47

谢谢大家。在引号中添加名称无效。当我将头名更改为没有连字符和任何其他特殊字符的合法名称时,它起了作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33145324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档