如何在我的bash表达式中逃避单个qoutes find . | xargs perl -pi -e 's/'conflicts' => '',//g'?我想在我的文件中替换字符串'conflicts'=>''?
rua*_*akh 14
FatalError和gpojd都给出了很好的解决方案.我将用另外一个选项来解决这个问题:
find . | xargs perl -pi -e 's/\x27conflicts\x27 => \x27\x27,//g'
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为在Perl中,s/.../.../符号支持反斜杠转义.\x27是十六进制转义('U + 0027).
Fat*_*ror 10
你不能在单引号内直接转义它,所以要获得单引号,你需要做类似的事情:
$ echo 'i'\''m a string with a single quote'
i'm a string with a single quote
Run Code Online (Sandbox Code Playgroud)
这结束了引用的部分,因为它出现在引号之外的单引号,然后再次开始引用.结果仍然是一个论点.
改为在代码周围使用双引号:
find . | xargs perl -pi -e "s/'conflicts' => '',//g"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9110 次 |
| 最近记录: |