gpt4 book ai didi

batch-file - 想要从 txt 文件中读取行并删除包含相同子字符串的其他行

转载 作者:行者123 更新时间:2023-12-04 05:01:20 26 4
gpt4 key购买 nike

我有一个巨大的文本文件,它的每一行都包含一个带有模式 FEATURE_ 的字符串。
我想从这个 txt 文件中读取每一行,并从包含相同 FEATURE_ 字符串的文件中删除所有其他行。

请建议 DOS 和 perl cmd 来执行此操作

例如

输入:

#ifdef FEATURE_ABCD
#ifdef FEATURE_GHDI
#ifdef FEATURE_ABCD
#ifdef FEATURE_WXYZ
#ifdef FEATURE_ABCD
#ifdef FEATURE_WXYZ
#ifdef FEATURE_GHDI
#ifdef FEATUREGHDI
#define FEATURE_ABCD
#define FEATUREGHDI
/* FEATURE_GHDI */

输出:
#ifdef FEATURE_ABCD
#ifdef FEATURE_GHDI
#ifdef FEATURE_WXYZ
#ifdef FEATUREGHDI

最佳答案

假设您的文本文件是 FEATURE.TXT ,试试这个:

@ECHO OFF & setlocal enabledelayedexpansion
for /f "delims=" %%i in (FEATURE.TXT) do (
set "line0=%%i"
set "line=!line0:*FEATURE=!"
if not "!line0!"=="!line!" (
for /f %%j in ("!line!") do set "line=%%j"
if not defined $a!line! (
set "$a!line!=!line!"
(echo(!line0!)
)
)
)

如果你输入 >>OUTPUT.TXT,你可以将输出重定向到一个文件。后 (echo(!line0!)命令。

输出是:
#ifdef FEATURE_ABCD
#ifdef FEATURE_GHDI
#ifdef FEATURE_WXYZ
#ifdef FEATUREGHDI

编辑:一些改进以加速代码。

关于batch-file - 想要从 txt 文件中读取行并删除包含相同子字符串的其他行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16124115/

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