You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell处理竖线分隔文本:提取ID/护照号至单列的需求

PowerShell处理竖线分隔文本:填充空ID列

嘿,作为PowerShell新手,这个需求其实用Import-Csv配合简单的条件判断就能轻松搞定,我给你写好命令并拆解说明,保证你能看懂:

完整命令

# 替换成你的实际输入、输出文件路径
$inputFile = "你的输入文件路径.txt"
$outputFile = "你的输出文件路径.txt"

Import-Csv -Path $inputFile -Delimiter '|' | ForEach-Object {
    # 判断id_number是否为空,为空则取passportnumber的值,否则保留id_number
    if ([string]::IsNullOrEmpty($_.id_number)) {
        $_.passportnumber
    } else {
        $_.id_number
    }
} | Out-File -Path $outputFile -Encoding UTF8

命令拆解说明

  • Import-Csv -Delimiter '|':把竖线分隔的文本文件当成CSV格式导入,PowerShell会自动用第一行的列名(membercode、id_number、passportnumber)把每行数据转换成带对应属性的对象,这样我们能直接通过$_.列名调用每一列的值。
  • ForEach-Object:遍历每一行数据,对每一行执行后续的判断逻辑。
  • [string]::IsNullOrEmpty($_.id_number):检查当前行的id_number字段是否为空/空白,能覆盖所有空值场景。
  • 输出逻辑:如果id_number为空,就输出passportnumber的值;否则直接输出id_number的值。
  • Out-File -Encoding UTF8:把最终结果写入指定文件,指定UTF8编码可以避免中文或特殊字符乱码问题。

小提示

记得把命令里的文件路径替换成你实际的路径哦~

内容的提问来源于stack exchange,提问作者Riaaz Jeena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:16:59