gpt4 book ai didi

windows - 将正斜杠附加到文件中特定行的末尾

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

我有一个如下所示的文件 (Flags.txt):

...

C_INCLUDES = ... ... .../xxx
...

CXX_INCLUDES = ... ... .../yyy

带有 C_INCLUDES 的行可以以任何字符串结尾(这里例如 xxx)。

最后,文件应该是这样的:

...

C_INCLUDES = ... ... .../xxx/

...

CXX_INCLUDES = ... ... .../yyy

因此我想使用 Windows 批处理文件(不可能使用 sedawk)来搜索名称 C_INCLUDES 并附加在行的末尾正斜杠(但可以是任何 smbol,例如“xxxz”或“xxx!”)?

我尝试了以下解决方案:

https://social.technet.microsoft.com/Forums/scriptcenter/en-US/fa09e27d-9f6b-4d4e-adda-f0663e0a9dde/append-string-to-text-file-at-end-of-line-starting-with-blah?forum=ITCG

$original = "flags.txt"
$tempfile = "tmp.txt"

get-content $original | foreach-object {
if ($_ -match "^C_INCLUDES") {
$_ + "/" >> $tempfile
}
else {
$_ >> $tempfile
}
}

copy-item $tempfile $original
remove-item $tempfile

但是没用

谢谢

最佳答案

您暗示您不能使用第 3 方(非 native )exe 文件,例如 sed。但您可以使用批处理文件。

所以你使用JREPL.BAT - a regular expression find/replace text processing utility应该没有问题. JREPL 是纯脚本(混合批处理/JScript),可以在 XP 及更高版本的任何 Windows 机器上本地运行 - 不需要第 3 方 exe 文件。

可通过 jrepl/? 从命令行获取完整文档,或通过 jrepl/?? 获取分页帮助。

一旦您拥有了 JREPL.BAT,那么下面的一行就足够了。它查找以 C_INCLUDES 开头且尚未以 / 结尾的任何行,并将 / 附加到任何匹配的行。

jrepl "^C_INCLUDES .*(?=.$)[^/]" "$&/" /f "Flags.txt" /o -

由于 JREPL 是批处理脚本,如果将命令放在另一个批处理脚本中,则必须使用 call jrepl

关于windows - 将正斜杠附加到文件中特定行的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40784970/

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