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

如何在PowerShell中提取文件每行的第二个单词并输出?

提取文本文件每行第二个单词的PowerShell实现

问题场景

现有sample.txt文件内容如下:

John Doe data
Jane Doe data

需要提取每行的第二个单词,期望输出:

Doe
Doe

使用命令(Get-Content sample.txt).Split(' ')[1]仅能得到第一行的第二个单词,无法满足需求。

解决方案

方法1:遍历每行拆分提取

通过ForEach-Object遍历文件的每一行,对每行单独执行拆分操作并取第二个元素:

Get-Content sample.txt | ForEach-Object { $_.Split(' ')[1] }

方法2:正则匹配(适配多空格场景)

如果文本中存在多个连续空格,用正则匹配能更准确捕获第二个单词:

Get-Content sample.txt | Select-String -Pattern '^\S+\s+(\S+)' | ForEach-Object { $_.Matches.Groups[1].Value }

正则说明:^\S+匹配行首的第一个非空白单词,\s+匹配一个或多个空白字符,(\S+)捕获第二个非空白单词,最后提取捕获组的内容。

方法3:使用PowerShell拆分运算符-split

-split会自动处理多个连续空白,比.Split()更适配文本拆分场景:

Get-Content sample.txt | ForEach-Object { ($_ -split '\s+')[1] }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 21:30:51