alg*_*der 25 linux command-line sed
我该如何替换foo.用foo_与sed简单地运行
sed 's/foo./foo_/g' file.php
Run Code Online (Sandbox Code Playgroud)
不起作用.谢谢!
rid*_*rid 26
逃离.:
sed 's/foo\./foo_/g' file.php
例:
~$ cat test.txt
foo.bar
~$ sed 's/foo\./foo_/g' test.txt
foo_bar
Run Code Online (Sandbox Code Playgroud)
Pau*_*l S 14
有趣的是,如果您只想搜索并替换点,则必须将点放在字符集中.出于某种原因,仅在sed命令中单独转义点不起作用.点仍然扩展为单个字符外卡.
$ bash --version # Ubuntu Lucid (10.04)
Run Code Online (Sandbox Code Playgroud)
GNU bash,版本4.1.5(1)-release(x86_64-pc-linux-gnu)
$ echo aa.bb.cc | sed s/\./-/g # replaces all characters with dash
Run Code Online (Sandbox Code Playgroud)
'--------'
$ echo aa.bb.cc | sed s/[.]/-/g # replaces the dots with a dash
Run Code Online (Sandbox Code Playgroud)
AA-BB-CC
通过在搜索中添加前导字符,逃脱工作.
$ echo foo. | sed s/foo\./foo_/g # works
Run Code Online (Sandbox Code Playgroud)
foo_
将点放在字符集当然也有效.
$ echo foo. | sed s/foo[.]/foo_/g # also works
Run Code Online (Sandbox Code Playgroud)
foo_
- 保罗
用一个\逃脱点
sed 's/foo\./foo_/g' file.php
Run Code Online (Sandbox Code Playgroud)
如果您发现/和\ confusing的组合,您可以使用另一个'分隔符'字符
sed 's#foo\.#foo_#g
Run Code Online (Sandbox Code Playgroud)
s之后的第二个字符可以是任何东西,sed将使用该字符作为分隔符.
| 归档时间: |
|
| 查看次数: |
55168 次 |
| 最近记录: |