|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近工作中遇到一个问题,想在某个文件的指定位置后面添加一个标志位,要求在shell脚本里实现。# c% `. }* h* Y4 Z
2 y8 q1 C# ^/ @* A9 X3 E* A( {问题说明:. f; ]3 t3 _$ i- b# w1 k2 U K
1 |, p6 r6 P8 l" ]. v: a* E- T2 _9 W想在sys_config.fex文本的某个字符串后面添加一个flag. p$ p" W6 E6 e1 v- a
$ g" b+ ?3 E& G" _% F例如:sys_config.fex里有这么一段/ |0 l" M) A/ } ?; E1 e3 `# [' g
: `& y4 H( [2 `4 p$ n6 V[nand_para]
8 H1 k9 P7 {5 |1 C5 m6 i* m. W6 U5 M6 g; @2 N0 N; H6 |/ ]
nand_use = 1
- |. t8 n5 z4 W- m# p, q4 i3 q# T$ L. w- }" ^& \
要求在[nand_para]后面添加一个flag = 1,最后变成(不影响其他内容):
" | z7 J2 C6 G1 W! a/ J q% \8 W3 X. m/ W8 O Z
[nand_para]- c: G8 @/ I: O+ }$ q" S
8 a& @. r' B3 ^
flag = 1
) ^. G' j4 z6 G* W, W, G9 \7 A# W( A
n; | h8 j+ M- ]! \* Ynand_use = 14 r( Q ^+ s; n) s" T V
3 G# q& Q1 W# i
具体实现:3 `$ z8 f2 x3 A! D) V
$ ^; W7 I$ z/ T. B6 ?
- Z! O0 E% C3 H3 Z4 m4 @4 `
! b( H! ?$ V7 J# }. b8 ~7 ~+ g* H$ m; a4 f3 i+ g8 q3 ^1 H+ P
9 |) l9 I7 Y7 o' n/ a8 ~ E" U+ L6 N# }5 z1 s) w: u+ \
参考资料(http://bbs.chinaunix.net/thread-1585877-1-1.html):$ E. f. I0 O% M8 h; o1 g
0 ]: T9 @6 F- K8 O7 y" M2 e
脚本说明:8 X8 G4 x, k9 ?# C+ H; u
把“# chkconfig: 2345 98 98”和“# description:http server”写入到/etc/init.d/httpd的“#!/bin/sh”字段下面。
- \( z# ^8 d% l J" S2 r& z5 x& H0 t3 Y
! Z' R9 G* R6 M9 ^$ K
我只是加多了个参数 -i,如果不加该参数,虽然屏幕上显示:: M, `0 p% ^# x/ D! A$ Z. w
#!/bin/sh4 Z [+ m( X$ A/ C. X5 Q
# chkconfig: 2345 98 984 }7 A) j9 y. ^! M0 ?
# description:http server
0 M! z$ h/ z& o: {" [4 T& U
3 X) O4 K ~( ~/ R4 V/ O: Z$ _1 Q. f! _, V+ j" M4 v5 K9 F
$ |( [: m( l5 L3 n0 s1 p# csed -i '/#!\/bin\/sh/a\# chkconfig: 2345 98 98\n# description:http server' /etc/init.d/httpd0 P+ v( o; J9 a3 o6 W4 Q! p @
* N" b' g. Y& e
% r1 {8 E, f9 j9 [, |
3 K" D; O1 O Y |
|