-1

我有一个包含以下内容的文件 -

SF:D:\Saurabh\Work\WS\devicehowto.war\scripts\.\Greeter.js
DA:1,2
DA:4,2
DA:5,2
end_of_record
SF:D:\Saurabh\Work\WS\devicehowto.war\scripts\.\GreeterTest.js
DA:1,2
DA:3,2
DA:4,2
end_of_record

我需要一个批处理脚本来用空格字符替换所有出现的“D:\Saurabh\Work\WS\devicehowto.war\scripts.\”。因此,运行批处理脚本后,内容应如下所示 -

SF:Greeter.js
    DA:1,2
    DA:4,2
    DA:5,2
    end_of_record
    SF:GreeterTest.js
    DA:1,2
    DA:3,2
    DA:4,2
    end_of_record

请帮忙。谢谢。

4

2 回答 2

2
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
(
FOR /f "delims=" %%i IN (saurabh.txt) DO (
 SET "line=%%i"
 SET "line=!line:D:\Saurabh\Work\WS\devicehowto.war\scripts\.\=!"
 ECHO(!line!
)
)>new.txt
TYPE new.txt
GOTO :eof

生成 new.txt。

不知道为什么第二行和后续行是缩进的。如果这是故意的,请说明标准。

于 2013-06-07T07:54:03.060 回答
1

sed干得好

sed "/SF/s/:.*\\/:/" saurabh.txt
于 2013-06-07T09:43:03.767 回答