删除电源外壳文件中的行



>我有一个包含以下行的文件

Servicetag 
P4M8K82 
P4M8l582  
O5M8K82  

我希望我只有序列号,而不是名字ServiceTag。 我想:浏览.csv文件,如果该行包含SerivceTag则不会获得该值并复制其余部分。

因此,我希望我有:

P4M8K82 
P4M8l582  
O5M8K82 

你认为这可能吗?

由于它是一个CSV标头,因此您可以跳过第一行:

#demo file
@"
Servicetag 
P4M8K82 
P4M8l582  
O5M8K82  
"@ | out-file Test.csv
#solution to get items
cat test.csv | select -Skip 1
#or write them to file
cat test.csv | select -Skip 1 | Out-file output.txt

虽然不太清楚你在问什么,但下面的行会将文件读取为字符串数组并写出一个新文件,删除所有包含"ServiceTag"的行:

Get-Content -Path 'TheOriginalFile'| Where-Object { $_ -notmatch 'ServiceTag' } | Set-Content -Path 'TheNewFile'

您的输入文件看起来像一个只有一个字段的 CSV 文件。 当只有一个字段时,没有任何分隔逗号。 服务标签不是数据输入。 它是字段的名称,也称为标头。

请尝试以下操作:

Import-Csv Test.csv | Format-Table

结果是一个只有一个列标题的表。 如果您执行以下操作:

$testdata = Import-Csv Test.csv

现在,您的数据将以适合处理的形式导入。

最新更新