我有一个名为adat.dat的文件,其中包含以下数据:
1;400;1000000;garden kitchen 11;178;56124;bathroom roof 7;777;20000;oneroom kitchen 10;150;1000000;garage yard
我想按第一列从最低到最高排序。
所以预期的输出将是:
1;400;1000000;garden kitchen 7;777;20000;oneroom kitchen 10;150;1000000;garage yard 11;178;56124;bathroom roof
到目前为止,这是我的代码:
Get-Content adat.dat | Sort-Object
是否有类似于Linux sort -n
选项的选项?
答案 0 :(得分:4)
使用int[,] graph = new int[totalNumberOfCaves, totalNumberOfCaves];
for (int i = 0; i < graph.GetLength(0); i++)
{
for (int j = 0; j < graph.GetLength(1); j++)
{
graph[i, j] = connectionWeight["Value at possition"];
}
}
读取数据。如果数据没有标题,则可以通过Import-Csv
参数指定自己的标题。然后使用自定义属性按第一列进行排序,该属性将字符串值转换为整数(用于数字排序)。
-Header
答案 1 :(得分:2)
这是一种使用=AVERAGEIFS(L6:L205, D6:D205, {"W","R"}, C6:C205, "Cache")
而不是Get-Content
的方法。对于大文件,Import-CSV
中的对象数组可能会变得很大。 [ grin ]通过使用脚本块为Import-CSV
目标创建计算所得的属性,从而避免了某些情况。
Sort-Object
输出...
# fake reading in a text file
# in real life, use Get-Content
$InStuff = @'
1;400;1000000;garden kitchen
11;178;56124;bathroom roof
7;777;20000;oneroom kitchen
10;150;1000000;garage yard
'@ -split [environment]::NewLine
$SortedInStuff = $InStuff |
Sort-Object {[int]$_.Split(';')[0]}
$SortedInStuff