EDA365电子论坛网
标题:
求助:sed字符串替换问题
[打印本页]
作者:
qpggup
时间:
2020-8-21 13:49
标题:
求助:sed字符串替换问题
p=root
1 d0 r6 v2 W! ~0 ]( ?4 |
q=wanggang
+ z+ _: C- Q! }- U9 P2 U
sed -ri "s/\($p=\)\S*/\1$q/" file
, S, y' G1 {+ L7 \+ z
G% o* n+ V6 J* _
" @, i7 Z2 R# Y0 j9 g9 r3 E9 \1 d8 |. j
file文件内容
, I! F; W* t$ K" d8 p6 x; L7 J6 }
root=zhuangshan
0 T/ c8 H/ Q( i% G9 W; q% f$ S
7 ~& m+ C/ J& y# u: i
为何文本内容替换不成功,返回值$?也是0
$ h6 h- f; g8 E' |4 k
作者:
younicp
时间:
2020-8-21 14:25
帮顶
作者:
thinkfunny
时间:
2020-8-21 14:51
括号不能转义,因为你这儿是一个逆序环视,要匹配的是一个分组,就得用括号。而当你需要匹配括号这个符号本身的时候,才需要转义。至于修改的话,删掉左右括号的转义符号就行。
, W, y) I& T: K1 u- N, A
* _: J" n0 T# F* I$ l
p=root
q=wanggang
sed -ri "s/($p=)\S*/\1$q/" file
. `! }. W/ w, Y1 E' @
作者:
mutougeda
时间:
2020-8-21 14:52
因为你的sed使用了 -r参数 use extended regular expressions in the script.
$ i! k! {& ]4 [9 T5 v
sed -i "s/\($p=\)\S*/\1$q/" file
5 L9 i5 ~+ X' l1 l- ^8 C( C
/ ^/ F5 b3 R( Z% h4 Q
要不像楼上这样,使用-r 参数括号就不需要再转义了。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2