linux命令行反斜杠,linux 反斜杠

linux sed 如何替换字符串中的反斜杠\

在字符替换中,可能会遇见引号,“/”等的替换,这时应该注意,sed的命令原型是:

成都创新互联公司2013年开创至今,先为汨罗等服务建站,汨罗等地企业,进行企业商务咨询服务。为汨罗企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

sed -i "s/oldstring/goalstring/g" file

如果一个路径是data/path/abc,现在要将此路径换成一个字符串cde

但是这时跟在s后边的其实是分隔符,用以将oldstring替换成cde;他可以使用任意字符,这时如果字符串中有“/”,就会发生混乱,在这个时候可以用#当做分隔符,就变成

sed -i "s#abc#cde#g" file

这时如果abc中包含“/”就可以随便替换了;

引号的替换:

需要将引号转义,使用反斜杠“\”,比如替换" ' 'div' ' ",如果需要将它替换成‘div' ;可以使用sed -i s#\"\'\'#\'#g就能替换了。

linux中sed命令如何运用‘\ ’ 反斜杠

路径"../syslog/tmp/"替换为"/data/syslog/tmp”

首先要搞清楚,转义符\的作用是消除有特殊含义字符的特殊意义,使其还原为普通字符。

sed

-i

's/\.\.\/syslog\/tmp\//\/data\/syslog\/tmp/'

file.ini

点号.在正则表达式中有其特殊含义(表示任意一个字符),所以要表示点号本身,需要使用转义符。

sed替换命令的格式一般为

s/.../.../

,所以如果里面的内容也包含

/

,比如你这里的路径,为了区分,也需要转义。

最后说明一下,这样看起来很混乱,比较容易搞错。

其实sed的替换命令格式不一定要是

s/.../.../,下面这样也都可以:

s#...#...#

s_..._..._

即命令s后可以跟任意字符,只要跟替换内容不重复即可。这样,路径里的/就不再需要转义了。

Linux中的正斜杆(/)和反斜杆(\)的作用

正斜杠,又称左斜杠,符号是(/);反斜杠,也称右斜杠,符号是(\)。

==============正斜杠(/)的作用:

1、作为路径的分隔符,采用正斜杠(/),比如"/home/hutaow"

================反斜杠(\)的作用:

1、在正则表达式中,采用表达  \(\);\{m,n\};\?;\+

2、一个命令可以用(\)分成多行

3、作为转义(\)使用

后续补充。。。。。

linux命令前的反斜杠

在linux命令前加上反斜杠,可以临时取消使用别名。比如 \rm -rf

反斜杠是直接调用rm的原命令,为了保证你使用的命令不是各种系统别名,经常会在命令前面加一个反斜杠来去除别名。

linux下命令行tab的时候,变量前自动多了个反斜杠

不是所有linux版本都这样。RHEL5,6没这个问题。

你的意思是多了一个"\"吗? 你是在输完ls $HOME再按tab键?


当前文章:linux命令行反斜杠,linux 反斜杠
URL网址:http://azwzsj.com/article/hdoodc.html