Linux下如何仅打印包含第三列的行?
筛选包含第三列的行解决方案
嘿,我来帮你快速搞定这个文本筛选需求!你的内容是用竖线|作为分隔符的,要只保留那些存在第三列(也就是第三个字段非空)的行,用下面的方法就能轻松实现:
命令行(Linux/macOS)方案
用awk工具处理这种分隔符文本超方便,直接运行下面的命令:
awk -F'|' '$3 != ""' your_file.txt
-F'|':指定文本的分隔符为竖线$3 != "":只打印第三列不为空的行
用你给出的示例文本运行后,输出结果会是:
SUBSCRIBERIDENTIFIER|234809956|5008596| SUBSCRIBERIDENTIFIER|234818667|2000010| SUBSCRIBERIDENTIFIER|234818966|5008611| SUBSCRIBERIDENTIFIER|234817611|2000010|
Windows PowerShell方案
如果你用的是Windows系统,也可以用PowerShell来实现:
Get-Content your_file.txt | Where-Object { ($_ -split '\|').Count -ge 3 -and -not [string]::IsNullOrEmpty(($_ -split '\|')[2]) }
这个命令会先读取文件内容,然后筛选出分割后至少有3个字段,且第三个字段不为空的行。
内容的提问来源于stack exchange,提问作者Oluseyi Victor
相关产品推荐
相关产品推荐

