我正在尝试合并 Windows 批处理中的所有文件,然后对所有行进行排序并仅根据唯一行进行过滤,因为标题可以重复多次。我曾经使用过 linux,在 linux 中这个命令就是这样,但是我不知道如何在 windows bash 中做同样的事情,
sed 1d *.csv | sort -r| uniq > merged-file.csv
要在没有排序部分的情况下执行此操作,您只需从命令行或批处理文件中运行即可。
copy *.csv merged-file.csv
这会将每个 csv 文件的内容复制到
merged-file.csv
要完成排序和 uniq 部分,您需要的不仅仅是一个简单的 oneliner。
有多种选择。
常见的选项是Cygwin
在现代 Windows 中,您可以启用 Windows Subsystem for Linux (WSL)
如果您不喜欢打开另一个终端来运行您最喜欢的 Linux 命令,请看看这些:
git-bash.exe
,它会像上面的选项一样打开另一个终端。.exe
工具,位于 Git 安装的 usr/bin
文件夹中。注意,如果您将
C:\Program Files\Git\usr\bin
放入 PATH
变量中。与 Windows 本机工具存在一些命名冲突,例如find
、sort
、tar
,因此您需要使用完整路径名来调用它们,或者根据您的喜好重命名工具。
不过,最后一次更新已经是20多年前的事了。我不推荐它们,因为它们不再维护了。