使用Windows shell或Perl脚本搜索和替换字符串 [英] Search and replace a string using Windows shell or Perl script
本文介绍了使用Windows shell或Perl脚本搜索和替换字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何搜索 // packages / thirdparty / release / main.txt#10
并替换#10
使用批处理命令以及忽略空格与
#15
(设置VARIABLE =#15)。 #10
可以是任何东西,让假设 #XXX
。
How can i search for //packages/thirdparty/release/main.txt #10
and replace #10
with #15
(set VARIABLE="#15") using batch commands and also ignoring spaces. #10
can be anything, lets assume #XXX
.
testlog.txt
//packages/thirdparty/release/config.txt #8
//packages/thirdparty/release/config2.txt #3
//packages/thirdparty/release/config1.txt #4
//packages/thirdparty/release/main.txt #10
这是我的尝试
@ECHO OFF
set $FindStr=//packages/thirdparty/release/main.txt#10
set $ReplString=//packages/thirdparty/release/main.txt#15
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('type testlog.txt') do (
set $Ver=%%a
set $Ver=!$Ver: =!
If /i !$Ver!==%$FindStr% set $Ver=%$ReplString%
echo !$Ver! ) >> testlog.txt
推荐答案
您可以使用一行Perl:
You could use a one line Perl:
perl -pe"s!(//packages/thirdparty/release/main.txt *)#\d+!$1#15!;" testlog.txt
会替换#10
code>#15
replaces #10
by #15
这篇关于使用Windows shell或Perl脚本搜索和替换字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文