Windows批处理文件:搜索关键字行并使用分隔符进行编辑

时间:2013-02-05 04:48:28

标签: batch-file batch-processing text-processing

我正在编写一个批处理文件来编辑cygwin的文本文件,以便在没有人工干预的情况下启用chroot。

我想找到包含关键字 SvcCOPSSH 的行,然后进行编辑 使用deliminator冒号替换第三个和第四个之间的数字" "

例如,找到以下行

  

SvcCOPSSH:unused_by_nt / 2000 / XP:的 1023 :545:U-WINDOWS-AU90FH5 \ SvcCOPSSH,S-1-5-21-2xxxx5-2xxx9-7xx50-1031:在/ var /: / bin中/假

并将 1023 编辑为 0

  

SvcCOPSSH:unused_by_nt / 2000 / XP: 0 :545:U-WINDOWS-AU90FH5 \ SvcCOPSSH,S-1-5-21-2xxxx5-2xxx9-7xx50-1031:在/ var /: / bin中/假

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

setlocal enabledelayedexpansion
for /f "tokens=1-7 delims=:" %%a in ('findstr "^SvcCOPSSH" file.txt') do (
echo %%a:%%b:0:%%d:%%e:%%f:%%g >new.txt
)
del file.txt /f /q
ren new.txt file.txt

只需将file.txt替换为您的实际文本文件。