编辑:我在Windows Vista上使用CYGWIN/GNU sed版本4.1.5,我想要一个不区分大小写的搜索
我想用sed替换内联,以下内容:
c:\ DEV\Suite \在这里--- blah 12 334 xxx zzzzz etc\Modules等
编辑:这里的任何东西--- blah 12 334 xxx zzzzz etc意味着任何东西都可以出现在这里.很抱歉没有这个.
在一个像行的文件中
FileName="c:\DEV\Suite\anything here --- blah 12 334 xxx zzzzz etc\Modules\.... snipped ...."
Run Code Online (Sandbox Code Playgroud)
我提供的价值,说:
X项目 - 版本99.98
所以文件最终得到:
FileName="c:\DEV\Suite\Project X - Version 99.98\Modules\.... snipped ...."
Run Code Online (Sandbox Code Playgroud)
我的尝试:
c:\temp>sed -r -b s/Dev\\Suite\\.*\\Modules/dev\\suite\\simple\\/g test.txt
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
sed: -e expression #1, char 42: unterminated `s' command
Run Code Online (Sandbox Code Playgroud)
谢谢.编辑:我已经尝试过添加引号.
它是'/'之前的'\\'.显然你需要4个反斜杠.
sed -r -b "s/Dev\\\\Suite\\\\.*\\\\Modules/dev\\\\suite\\\\simple\\\\/g" test.txt
Run Code Online (Sandbox Code Playgroud)
我认为shell在将'\''解释为'\'之前将其传递给sed,然后sed在它得到的内容上做同样的事情.
单引号可行,所以:
sed -r -b 's/Dev\\Suite\\.*\\Modules/dev\\suite\\simple\\/g' test.txt
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34979 次 |
最近记录: |