繁体   English   中英

使用 Powershell 从包含特定单词的 CSV 中删除一行?

Using Powershell to strip a row from a CSV that contains a specific word?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

以下是我的 CSV 文件中的一些示例行。

"ComputerName","Name","Publisher","InstallDate","EstimatedSize","Version","Wow6432Node"
"pcnumber1","Service Pack 1 for Microsoft Office 2013 (KB2850036) 32-Bit Edition","Microsoft P",,"0",,"True"
"pcnumber1","CCleaner","Piriform",,"0","5.01",

原始脚本从指定的计算机中提取有关已安装软件的大量信息,并将其输出为 CSV 格式。 我想获取该 CSV 文件并删除所有包含“Microsoft P”的行。 我已经找到了如何从字符串中删除特定单词、如何查找和替换等。但是我很难找到这个特定的函数。

4 个回复

您可以使用 Where-Object 导入、选择所有不包含“Microsoft P”的元素,然后导出:

Import-Csv test.csv | where {$_.Publisher -ne "Microsoft P"} | Export-Csv New.csv -notypeinfo

您可以按照 Mark FINDSTR建议使用FINDSTR 只需指出它是带有/C的文字搜索字符串。

FINDSTR /V /C:"Microsoft P" SomeFile.CSV > NewFile.CSV

或者,如果您需要 PowerShell 解决方案,您可以忽略它是 CSV 的事实,而将其视为文本文件。 那么你可以:

Get-Content C:\Path\To\File.csv | Where{$_ -notmatch "Microsoft P"} | Out-File C:\Path\To\NewFile.csv

您可以使用多个字符串

FINDSTR /V /C:"Microsoft P" /C:"Linux R" /C:"Whatever W" SomeFile.CSV > NewFile.CSV
5 我希望删除包含特定单词的文件中的一行。 (*关键词)

我希望删除包含特定单词的行(在我的情况下是[* KEYWORD])。 这些文件的扩展名为“ .blk”。 这些文件位于同一文件夹的不同子文件夹中。 我已经编写了以下代码。 根据肯先生提供的答案,我已经尝试了上面的代码。 但是,似乎没有任何作用。 我创建了一个名为dirlist. ...

7 批处理文件以从 CSV 中删除包含特定单词的行

嗨,我有一个包含 CSV 的目录,其中包含我不想处理的行 到目前为止,我对下面的所有文件示例都有一个工作,它只显示某些列和副本到新的 csv 但我想用 只显示没有“Not”字样的行 如果我使用如下所示的 find 命令,它适用于 1 csv 。 我需要在所有 csvs 间接目录上执行此操 ...

8 如何使用Python删除特定单词后的一行

我有一个文本文件( input.txt ),它包含: 现在,我需要删除input.txt文件中每个COMPDAT关键字之后的第一行。 如何使用Python做到这一点? 我尝试使用此脚本,但是,它在每个现有行之间添加了一个空行: ...

2017-04-24 12:05:27 3 131   python
10 从包含特定单词的 ms word 表中删除特定行

我在 MS Word 中有一个表格,并试图从中删除一些特定的行。 我有一个 vba 脚本,但它会从所有表中删除行。 我只想从表 2 中删除行。这是我的代码: 如何指定其中的表以删除第 3 列中包含中等的行? 我对 VBA 完全陌生。 请帮我解决这个问题 更新要求 我需要删除第 3 列中包含中 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM