标题: [求助]怎样把文本中的$符号全部替换成感叹号
[打印本页]
作者: enliang
时间: 2007-10-31 11:40
标题: [求助]怎样把文本中的$符号全部替换成感叹号
如题.想把文本中的$符号全部替换成感叹号.请问怎样实现 ? 谢了.自己写了一个其它字符可以替换,就感叹号不能替换.
setlocal EnableDelayedExpansion
for /f "eol= delims=" %%b in (1.txt) do (
set mx=%%b
set mx=!mx:$=!!
echo !mx!>>2.txt
)
望指点
作者: abcd
时间: 2007-10-31 11:59
for /f "eol= delims=" %%b in (1.txt) do (
set mx=%%b
call echo %%mx:$=!%%
)
作者: junchen2
时间: 2007-10-31 12:20
sed s/\$/!/g" 1.txt
作者: abcd
时间: 2007-10-31 12:25
sed "/\$/ s//!/g" 1.txt
速度要快些
作者: gadmyth
时间: 2007-10-31 12:25
sed 在.bat文件中不能用啊。
作者: abcd
时间: 2007-10-31 12:27
Quote: |
Originally posted by gadmyth at 2007-10-31 12:25 PM:
sed 在.bat文件中不能用啊。 |
|
??
有什么错误??
sed是第三方命令行工具,不是WINDOWS系统自带的。
作者: enliang
时间: 2007-10-31 12:48
Quote: |
Originally posted by abcd at 2007-10-31 11:59:
for /f "eol= delims=" %%b in (1.txt) do (
set mx=%%b
call echo %%mx:$=!%%
) |
|
如果里面有多个不同的字符需要替换,请问又该怎样处理.能同时处理吗??
如还想把里面的?都改成*
作者: abcd
时间: 2007-10-31 13:34
有多个不同的字符需要替换的话,就多set几次就行了。
for /f "eol= delims=" %%b in (1.txt) do (
set mx=%%b
call set "mx=%%mx:$=!%%"
call set "mx=%%mx:?=*%%"
call echo "%%mx%%"
)
作者: kxy0126
时间: 2007-10-31 13:43
大家都是高手呀
佩服
作者: jojand
时间: 2007-10-31 13:57
低于7.1版本的dos不能用 for /f