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

标签 powershell csv powershell-ise

我是 Powershell 的初学者。我有一些疑问。我正在将 Import-Csv cmdlet 用于从旧软件生成的制表符分隔文本文件。下面是分隔文件的等效版本。从文本文件中,我必须过滤那些目的地-> observability§bin 为 1 的条目。

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

代码片段如下
$ap = Import-Csv -Delimiter "`t" -Path E:\Myfiles\textfile.txt

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

我得到了第一行工作。当我执行第二行时,它会向我抛出一条错误消息。
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

所以我想它将输入参数中的“-”符号作为运算符(字符 34)。我还在 - 符号之前尝试了一些转义字符,例如反勾号(`)。但是什么都没有得到。请帮我解决一下这个。

谢谢。

最佳答案

您应该将其括在引号中:

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

尽管您可能对 § 也有问题特点

关于powershell - where-object Powershell 的输入参数中的连字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33145324/

相关文章:

powershell - 从自定义 cmdlet (Powershell ISE) 进行管道传输后,Intellisense 不起作用

powershell - Pip.exe已安装。如何使用?

sql - Azure SQL DB - 从 azure sql 导出数据文件 (.csv)

function - PowerShell更改返回对象的类型

powershell - 如何让 PowerShell ISE 对具有自定义扩展名的文件进行语法突出显示?

powershell - 在 PowerShell 中逐行读取文件

powershell - 调用-AzureRmResourceAction : The pipeline has been stopped

azure - 使用 Azure Functions 连接到 AzureAD 时出现 TLS 版本问题

c# - 如何执行从文件中读取数据,然后验证数据并将数据异步插入数据库操作

mysql - 将 TSV 格式转换为可上传 MySQL 数据库?