powershell - 按文件中的第一列排序

标签 powershell sorting

我有一个名为 adat.dat 的文件,其中包含以下数据:

1;400;1000000;garden kitchen
11;178;56124;bathroom roof
7;777;20000;oneroom kitchen
10;150;1000000;garage yard

I want to sort this from the lowest to the highest by the first column.

So the expected output would be:

1;400;1000000;garden kitchen
7;777;20000;oneroom kitchen
10;150;1000000;garage yard
11;178;56124;bathroom roof

Here is my code so far:

Get-Content adat.dat | Sort-Object 

有没有类似Linuxsort -n选项的选项?

最佳答案

使用Import-Csv 读取数据。如果数据没有标题,您可以通过 -Header 参数指定您自己的标题。然后使用将字符串值转换为整数(用于数字排序)的自定义属性按第一列排序。

Import-Csv 'adat.dat' -Delimiter ';' -Header 'a', 'b', 'c', 'd' |
    Sort-Object {[int]$_.a}

关于powershell - 按文件中的第一列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53620954/

相关文章:

sorting - 按特定列排序

javascript - 使用 lodash 或类似的库,如何按最接近的结果对集合进行排序?

java - 按字母顺序排序器不工作

xml - XML文件格式-删除杂散CRLF

powershell - Azure 资源管理器 powershell cmdlet 在 azure 门户测试 Pane (自动化帐户)上无法识别

powershell - 简单的PowerShell脚本循环遍历1个CSV文件以从另一个CSV文件创建新的CSV文件

java - 用于计算未正确输出的算法的比较和执行时间的代码

bash - 从 WSL session 内部关闭或重新启动 WSL session

powershell - 通过本地系统帐户使用 powershell 提升凭据

php - 强制将数组键更改为连续编号