gpt4 book ai didi

powershell - 第2行的Powershell排序

转载 作者:行者123 更新时间:2023-12-03 00:25:06 25 4
gpt4 key购买 nike

我想对.txt文档进行排序,以使第一行停留在顶部,而其余部分按数字排序。

我目前有以下内容,但是它删除了第一行,并且排序不正确,因为数字是72、2、51、100、201、5等
因此它的排序方式类似于100、2、201、5、51、72。

我希望将其排序为2、5、51、72、100、201

$emptyLine = Get-Content C:\Path\Document.txt | Select-Object -Skip 1
$emptyLine | Sort-Object | Out-File C:\Path\Document.txt

我知道这在Notepad ++中是可能的,但是需要进行排序的机器不允许安装任何新东西。

对于任何解决方案,我都很开放,不需要我安装新软件。

该机器是Windows 10 Pro x64。

Current Picture

Desired result

Current Result

No        Tool_Name        Tool_Part
72 10 1 9. 1
43 36 3 29. 1
102 34 1 1.7 1
600 33 1 3. 1
76 3 1 5.3 1
75 3 1 5.5 1
251 2 3 3. 1
73 10 1 5.3 1
50 36 3 15.9 1
64 2 1 6. 1


(发布为HTML代码段,以使格式更加美观)

最佳答案

利用多值赋值并将Get-Content的输出存储在两个变量中,然后仅对第二个变量进行排序:

$First,$Rest = Get-Content C:\Path\Document.txt
@($First; $Rest |Sort-Object) |Set-Content C:\Path\Document.txt

在上述情况下,PowerShell将第一行分配给 $First,其余的分配给 $Rest
如果您需要 Sort-Object来按字符串属性的第一部分进行排序(就好像它是整数一样),则可以这样做:
@($First; $Rest |Sort-Object {(-split $_)[0] -as [int]}) |Set-Content C:\Path\Document.txt

关于powershell - 第2行的Powershell排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53391265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com