|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近工作中遇到一个问题,想在某个文件的指定位置后面添加一个标志位,要求在shell脚本里实现。
) a: J" p- ]; B' U
2 ]; Y( Y' m. B# B+ U问题说明:# E7 b0 K! w" v6 s3 Y8 I
0 T& N- e( `2 i/ n& w6 \) }想在sys_config.fex文本的某个字符串后面添加一个flag
) j! d6 C+ Z( p, P) F7 y* G3 e, U E/ {7 l y# J1 }
例如:sys_config.fex里有这么一段
2 ^9 Z9 z! @. a- U4 c0 }. j4 ?, I2 G5 S# f4 n
[nand_para]
9 }9 R/ o% O( _- c7 z
, v' y4 G7 Z! t- Lnand_use = 1
$ F/ a3 c5 [/ L0 O1 K2 q
0 X' X. r6 |5 Y7 q! P9 |要求在[nand_para]后面添加一个flag = 1,最后变成(不影响其他内容):# J2 o. Y/ q& k8 m" o$ O& Z
6 i5 k# ?% B( @ @* K- O S$ v/ d[nand_para]
/ V* j4 `* |% E9 d! X* g8 J) g' S9 F( O
flag = 1
/ L# `# [, d9 m1 J4 @5 ^, d9 C) A* G
nand_use = 1( r! p( m* s4 ?. ~( A1 p! F
, J" r8 v9 u/ `# Q9 W具体实现:; x/ e8 a g7 U! {5 }0 ]
/ Q' r% j* Q2 c5 J7 u5 c
9 F: X7 d# L' }
+ |+ C8 B( g9 X9 m# F- {+ B* ~+ o2 N# Y6 `8 J
8 z& E: @& G! r/ { k7 a. y5 \
) J& K0 {1 p( r0 W# Y% a# S) w参考资料(http://bbs.chinaunix.net/thread-1585877-1-1.html):
; V8 ]. ?1 F( I7 c& G+ W- I8 I$ T3 n: S
脚本说明:4 _3 p% \. z0 N' v$ f5 A
把“# chkconfig: 2345 98 98”和“# description:http server”写入到/etc/init.d/httpd的“#!/bin/sh”字段下面。$ L1 @( B$ _. B5 @* R' f% Z
1 p3 K9 E. W# [. L7 `! r* B
/ y" V3 U, p2 d6 C, d
我只是加多了个参数 -i,如果不加该参数,虽然屏幕上显示:
n8 ]& V, \# ^* u( U( m$ y2 ^#!/bin/sh8 G+ K" X9 V6 t& e2 ]
# chkconfig: 2345 98 98
! j7 O' Z+ {( Y9 E1 U! e# description:http server M$ k3 y: Y% x7 D4 M+ z/ e
/ R. n+ B8 a3 Q( ]' \
' {2 c4 h7 u0 M, h$ A4 i
* m' Y5 q. x* a! \sed -i '/#!\/bin\/sh/a\# chkconfig: 2345 98 98\n# description:http server' /etc/init.d/httpd
. z7 q& J1 H7 m/ B P
6 ], h4 g# k4 V. W n& M a% @6 A1 }0 U/ _
/ e. X; C l% C2 W |
|