|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近工作中遇到一个问题,想在某个文件的指定位置后面添加一个标志位,要求在shell脚本里实现。
J( j# v! z- `& M3 s
% V3 k8 I* \* h, I* U问题说明:
, Q7 W8 }$ v: P! G! C3 @* ^5 \6 g
想在sys_config.fex文本的某个字符串后面添加一个flag5 `2 H* }. [$ _& A2 A
9 _9 D; a: l- ~: f" o N
例如:sys_config.fex里有这么一段
9 D) n) ? M/ v3 u% h; T! O8 `$ e. s7 ^1 }) B& Y5 p* r7 h0 q
[nand_para], P# Z7 g1 ^, H' |
+ t. z' p9 X; D' J0 X7 D
nand_use = 1
/ t) c$ a' q0 R( D. m" H P+ s1 Q
要求在[nand_para]后面添加一个flag = 1,最后变成(不影响其他内容):
( h* ? [- @9 n
2 l) N( Y9 q4 M( r8 `[nand_para], l: o, W- d1 u& w
3 V; @6 s, p/ q3 v; Z9 ~& Aflag = 1
% c" h' h; h0 D1 D. h# W# \5 P. M' q& w
nand_use = 1" k$ v& B. G9 S0 X8 t( Y6 B
0 }7 }1 r, v( B具体实现:, Q3 S5 k% S# o! Z/ W
( v" w7 l4 w" n. S I# ~! z
. G% r4 K& f' _! f0 U
) K8 y6 O2 d9 [% j0 S! ]% `
4 V+ f6 i3 @- [% n& l. C
( h; @- |8 G+ T% z" Q; ]6 H
3 r* \/ ^6 A% z _! r! }2 [4 j
参考资料(http://bbs.chinaunix.net/thread-1585877-1-1.html):; e, o* ]7 A; z) K; e) d
' s4 K' }4 M* _9 N0 L1 l5 V
脚本说明:
, _+ [* i1 c6 r% Q" H把“# chkconfig: 2345 98 98”和“# description:http server”写入到/etc/init.d/httpd的“#!/bin/sh”字段下面。
7 `5 B4 [4 i! x# Z8 j7 B; [8 G5 x' _; D7 j9 t" f
, H4 ~% v- h& T3 N' v. c' S
我只是加多了个参数 -i,如果不加该参数,虽然屏幕上显示:0 s5 \; Q, j1 r! l2 R6 G& ^- }& y
#!/bin/sh) _4 n( v1 [5 ~1 k
# chkconfig: 2345 98 98% B4 H# ^6 I1 `* B$ |2 I
# description:http server
" b7 |5 d) o+ Z: B# W5 a* g/ a2 W( L# {3 t; L
- g9 K7 q) e: M
: h: u) p. u+ V4 V# r: V
sed -i '/#!\/bin\/sh/a\# chkconfig: 2345 98 98\n# description:http server' /etc/init.d/httpd
) ?% J1 x1 \% n( _; _5 c- W! J: J8 R1 ?$ f B1 E
7 W- Z& B. R& G0 i
d# v3 N* F. L! C. F+ g% b |
|