powershell - 使用PowerShell剥离数据

标签 powershell

我有一个包含如下数据的文件: ABC|LT293012|293012 ABC|LT9281749|9281749 ABC|LT12345|12345
我想从中创建一个逗号分隔的字符串,如下所示:

LT293012,LT9281749,LT12345

换句话说,一切(包括)第一|和第二个之后的所有内容(包括)|需要被剥离。

我用过:
$list=(Get-Content $file).replace("ABC`|", "") -join "," 

但这并不能去除第二个|和数据

尽管“ABC”应始终为静态值,否则更容易将任何字符都保留在竖线字符中,那就可以了。值将始终包含三个元素。

我想我可以使用ConvertFrom-CSV读取文件,添加 header ,然后将其通过管道传递到select中,只拉中间的元素,但是这样做可能更简单。

编辑:我忘记了关键点。每个元素都需要用单引号引起来,以便最终输出为'LT293012','LT9281749','LT12345'

最佳答案

这样可以做到:

$data=get-content .\yourdatafile.txt|ConvertFrom-Csv -Delimiter "|" -Header "a","b","c"
$data.b  -join ","

给出:

LT293012,LT9281749,LT12345

关于powershell - 使用PowerShell剥离数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40746583/

相关文章:

java - PowerShell Invoke-RestMethod 问题和需要确定堆内存

Octopus 中的 Powershell 执行

asp.net - VimService55.XmlSerializers.dll 中发生类型 'System.StackOverflowException' 的未处理异常

powershell - 从没有作业信息的 Powershell 作业返回数据

powershell - 我如何才能将信息的段落重新排列为可以轻松导入csv的形式?

powershell - 是否有 Powershell 接口(interface)可以从 MQ 读取消息?

c# - 万一Commandlet遇到错误,如何终止脚本执行

powershell - 启动进程 : Access is denied (even though i've provided credentials

Powershell 脚本从 .csv 文件读取 2 列数据

regex - 如何查看 RegexOptions 枚举中可用的选项?