|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近工作中遇到一个问题,想在某个文件的指定位置后面添加一个标志位,要求在shell脚本里实现。% B) E7 i% `9 D
+ R! @- _7 n( J3 B* b% m
问题说明:4 K$ Q! \3 L2 t4 s
. Q0 \+ [, u- J+ W3 i想在sys_config.fex文本的某个字符串后面添加一个flag
. W: J" }: p' B/ `7 ]6 i0 i" f* s/ f3 _! P' a- _+ o4 c: X' O
例如:sys_config.fex里有这么一段
! s6 f& d. Z( l# A% t* L+ K# f6 s/ t* v6 `- y5 \
[nand_para]
0 m) i. ?7 X2 f' I* d! p% a R
- V1 w1 p n2 e! T+ Inand_use = 13 |$ |1 L( @- ?. N9 q! {, v& S
! C% }$ m' `/ {5 B要求在[nand_para]后面添加一个flag = 1,最后变成(不影响其他内容):
# T* Y8 H( \% |+ A0 @
4 V9 @: }7 k: t2 R6 `* c z! I[nand_para]
5 e6 E7 g3 n; c/ d1 e L; n
' B) @0 b9 E F$ U) X6 v- lflag = 10 M) M) S8 f+ ~. A
/ ~5 n8 }7 Q/ s4 M( D# Y x
nand_use = 1
8 p2 V3 c9 ^' X1 w! o: j- u5 t- X+ N0 S) s- k# n
具体实现:- m" b$ y* c( w3 I. a* {" H l- h; ?7 O
2 g) F9 i) j$ N) l
& S! P, |3 c. l9 Z/ m4 o
- Q/ a% d K+ P* V9 `
3 h# c/ a* c5 J6 ?! v' e$ t; C+ Q' L6 I0 A( O; W3 Z+ {
# s' @" {1 [5 V4 h! c! [5 f参考资料(http://bbs.chinaunix.net/thread-1585877-1-1.html):
+ d! D4 J% N9 y8 f4 `, m7 B; @
) R% E3 f. a# y! i, b5 j8 x8 `脚本说明:5 `5 x I% [+ _1 t5 h
把“# chkconfig: 2345 98 98”和“# description:http server”写入到/etc/init.d/httpd的“#!/bin/sh”字段下面。
: L8 l. Y$ \5 r% E: B
1 ^* i" j) J2 W2 h" A5 J$ B/ v
* F/ e* ]" U' Y我只是加多了个参数 -i,如果不加该参数,虽然屏幕上显示:
1 L: B; h9 e3 E( P' X2 x1 r( f#!/bin/sh
- z/ N h+ n. d$ m# chkconfig: 2345 98 98
: D$ g$ ~* \9 J. _; |7 g. G2 V* l# description:http server
) M. y: J5 S" t8 B9 u
' {- A( B/ t- X8 I
2 O: A W9 n. H5 u- O9 Q6 ?9 J' Z$ P
sed -i '/#!\/bin\/sh/a\# chkconfig: 2345 98 98\n# description:http server' /etc/init.d/httpd
2 I$ l: ^% c- U- P& k9 @
& P) q7 S+ X1 y6 |6 Y4 ^1 ] H6 J( E$ J e- R
+ S4 {# f5 j- B" U* B% a4 j' i8 k
|
|