首页 > 解决方案 > 文件内数据中分隔符后的字符串长度

问题描述

我有大量内部有分隔符的数据文件,我想知道每个分隔符后列的最大长度。由于我不能使用第三方程序,我想通过 PowerShell 来完成这项工作,因为它是 Windows 内置的。而且,同时我不能手动做。那么,想知道这是否可以通过 PowerShell 或任何简单的技巧来实现?

这是我在文件 FOO.TXT 中的示例数据

Col1|Col2|Col3

12345|这是一个字符串|这是另一个字符串

45688|String|这是另一个长度未知的字符串

30098|第二列字符串|第三列字符串

预期输出:

Col1 最大长度 - 5

Col2 最大长度 - 20

Col3 最大长度 - 40

标签: windowspowershellpowershell-5.0

解决方案


这是我一直在寻找的答案,与文件扩展名无关。感谢@Vad 和@Theo。

$j=Import-Csv -Delimiter "|" -Path D:\testdir\FOO.TXT #import our csv as array string
$columns = $j[0].PSObject.Properties.Name #get columns name
Foreach($column in $columns){
$l=($j."$column"|Measure-Object -Maximum -Property Length).Maximum #for each column get max length
Write-Host $column" Max Length- "$l
}

推荐阅读