gpt4 book ai didi

相当于 "sort -u"的 Windows CLI

转载 作者:可可西里 更新时间:2023-11-01 10:36:41 26 4
gpt4 key购买 nike

我需要在 Windows CLI 中使用等效的方法来执行我在 Linux/UNIX 中能够通​​过管道显示唯一值的操作。

我认为没有这样的命令,据我所知,还有其他方法吗?

我必须实现的是列出多个目录中的文件(无论它们是否存在,我目前使用 dir)。脚本(用于请求应用程序)的工作方式使用多个源来构建目录列表,然后根据平台是 Windows 还是 UNIX 使用命令,但这里的危险是列表中可能存在重复的目录和这会扭曲另一端的结果。

处理此问题的最简单方法是在源代码中执行,即正在运行的原始命令。所以在Linux中,命令结构或多或少是:

find [dir] [dir] [dir] | grep file_name | sort -u

在 Windows 中做同样的事情显然更加困难,因为:

  • 它必须是您将在 Windows 命令提示符 (cmd.exe) 中使用的 native 只读命令/脚本字符串
  • 我无法在运行它的主机上安装任何东西
  • 我无法在此过程中创建临时文本文件

最佳答案

  1. Microsoft 已将 /unique 开关添加到 Windows 10 中的 sort.exe,但忘记更新其文档。我在 Windows 7、Windows 8.1 和 Windows 10 v1709 上测试了这个开关。它存在于后者中,但不存在于前两个中。

    因此,sort.exe/unique 相当于 UNIX sort -u

  2. PowerShell 已经有一个支持 -Unique 开关的 Sort-Object cmdlet。更好的是,默认情况下,PowerShell 为 Sort-Object 定义别名 sort 所以,| sort -unique 几乎就是您所需要的。

关于相当于 "sort -u"的 Windows CLI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22351713/

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