gpt4 book ai didi

windows - 使用 Windows/DOS shell/批处理命令,如何获取文件并只保留唯一行?

转载 作者:可可西里 更新时间:2023-11-01 12:43:45 24 4
gpt4 key购买 nike

假设我有这样一个文件:

apple
pear
lemon
lemon
pear
orange
lemon

我如何做到只保留独特的线条,所以我得到:

apple
pear
lemon
orange

我可以修改原始文件或创建一个新文件。

我在想有一种方法可以一次扫描原始文件一行,检查新文件中是否存在该行,如果不存在则追加。我在这里不处理非常大的文件。

最佳答案

@echo off
setlocal disabledelayedexpansion
set "prev="
for /f "delims=" %%F in ('sort uniqinput.txt') do (
set "curr=%%F"
setlocal enabledelayedexpansion
if "!prev!" neq "!curr!" echo !curr!
endlocal
set "prev=%%F"
)

它的作用:首先对输入进行排序,然后按顺序遍历它,仅当当前行与前一行不同时才输出。如果不是因为需要处理特殊字符(这就是那些 setlocal/endlocal 的原因),它可能会更简单。
如果你想写入文件,它只是将行回显到 stdout(假设你将你的批处理命名为 myUniq.bat)myUniq >>output.txt

关于windows - 使用 Windows/DOS shell/批处理命令,如何获取文件并只保留唯一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12841024/

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