使用批处理文件修改找到的文本
modify the found text using batch file
首先,我正在寻找与此不同的东西:
- Batch / Find And Edit Lines in TXT file
我的目的是修改
"fillColor="#242838"
与 fillColor="mycolor"
但是,此语句中的十六进制颜色可以是
"fillColor="#221231"
或"fillColor="#213123"
那么如何使用 windows 批处理文件查找和编辑文本。
编辑:我已经为此尝试了 JREPL.BAT 正则表达式 find/replace 实用工具。
jrepl "android:fillColor=(.*?)" "fillColor="mycolor" /x /f myfile.xml /o -
但是,从 "
转义在这一行中不起作用。
我已经试过""
、\"
、^"
他们没有帮我转义"
字符。
可以使用 JREPL.BAT 完成任务,例如使用以下命令行:
jrepl.bat "(android:fillColor=\x22#)[0-9A-Fa-f]+" "FF0000" /f myfile.xml /o -
搜索字符串的解释:
(
...)
... 标记组。该组找到的字符串在替换字符串中用表达式 </code>.</p> 反向引用
<p><code>\x22
...用十六进制代码值指定的双引号字符。
[0-9A-Fa-f]+
... 找到任何十六进制数字一次或多次。
搜索表达式中的所有其他字符都是要在文件中查找的字面解释字符。
替换字符串说明:
</code> ... 标记组在搜索正则表达式中找到的固定字符串的反向引用。</p>
<p><code>FF0000
... 新颜色值,此处为红色 (RGB)。
此替换任务有必要使用标记组,因为 JREPL.BAT 使用 jscript 不支持后视匹配在正确的上下文中要替换的颜色值。
在批处理文件中使用时,必须使用命令 CALL 调用此命令行:
call jrepl.bat "(android:fillColor=\x22#)[0-9A-Fa-f]+" "FF0000" /f myfile.xml /o -
首先,我正在寻找与此不同的东西:
- Batch / Find And Edit Lines in TXT file
我的目的是修改
"fillColor="#242838"
与 fillColor="mycolor"
但是,此语句中的十六进制颜色可以是
"fillColor="#221231"
或"fillColor="#213123"
那么如何使用 windows 批处理文件查找和编辑文本。
编辑:我已经为此尝试了 JREPL.BAT 正则表达式 find/replace 实用工具。
jrepl "android:fillColor=(.*?)" "fillColor="mycolor" /x /f myfile.xml /o -
但是,从 "
转义在这一行中不起作用。
我已经试过""
、\"
、^"
他们没有帮我转义"
字符。
可以使用 JREPL.BAT 完成任务,例如使用以下命令行:
jrepl.bat "(android:fillColor=\x22#)[0-9A-Fa-f]+" "FF0000" /f myfile.xml /o -
搜索字符串的解释:
(
...)
... 标记组。该组找到的字符串在替换字符串中用表达式 </code>.</p> 反向引用
<p><code>\x22
...用十六进制代码值指定的双引号字符。
[0-9A-Fa-f]+
... 找到任何十六进制数字一次或多次。
搜索表达式中的所有其他字符都是要在文件中查找的字面解释字符。
替换字符串说明:
</code> ... 标记组在搜索正则表达式中找到的固定字符串的反向引用。</p>
<p><code>FF0000
... 新颜色值,此处为红色 (RGB)。
此替换任务有必要使用标记组,因为 JREPL.BAT 使用 jscript 不支持后视匹配在正确的上下文中要替换的颜色值。
在批处理文件中使用时,必须使用命令 CALL 调用此命令行:
call jrepl.bat "(android:fillColor=\x22#)[0-9A-Fa-f]+" "FF0000" /f myfile.xml /o -