EDA365电子论坛网

标题: shell如何在指定文件的指定位置后面添加内容 [打印本页]

作者: mytomorrow    时间: 2020-4-16 10:39
标题: shell如何在指定文件的指定位置后面添加内容
最近工作中遇到一个问题,想在某个文件的指定位置后面添加一个标志位,要求在shell脚本里实现。
$ Q' N( G' x. Y+ J+ T/ U! A+ r7 F) E% D3 J. ], K/ J' |
问题说明:# h7 r/ y2 ^- a* U! s  z

- y0 h3 u" Z# e' u想在sys_config.fex文本的某个字符串后面添加一个flag
7 b( C0 ~- n. A, [7 D& q- b( ?% S7 d4 L! e' x5 }. W; z- ~* q
例如:sys_config.fex里有这么一段; L9 R' {$ o; n1 C
0 X4 D* B. v/ B% q$ f5 w
[nand_para]8 r  ]2 f1 H$ y- v) T6 |$ |/ ^

5 r" Q' U1 ^7 H( H7 ^nand_use = 1: t$ S# ^- U3 A- {9 L# ]
0 Y8 }/ b0 c% T5 G
要求在[nand_para]后面添加一个flag = 1,最后变成(不影响其他内容):: e( h, W0 k1 E: v
+ p5 _4 P0 ~: u' P* L, J  N
[nand_para]/ }/ j' U/ A; I
) M: b+ i6 ^( @4 c. R' O
flag = 1% `: _6 G4 I; R" o6 Z, V

: v: }0 Q4 r- v! h' p3 T2 j" |nand_use = 1; x3 \3 C- W! l2 O

8 E6 A- y. k: Q# e" {1 M1 b具体实现:
1 X5 l9 C9 c$ N' S# T; w3 T1 w& V1 Y% d& s4 F( `

0 ]5 \6 c9 p0 D8 w6 z' m$ w" ]# I9 I" h. q
& u* {0 S3 F( x' b6 F! ]' u
+ p6 a- p. u/ R8 F" O  F
1 c3 B. c+ k7 b: E4 B
参考资料(http://bbs.chinaunix.net/thread-1585877-1-1.html):
, U, r; ]$ ^, H5 G! w" A: w8 h+ ^) i$ Y& ]
脚本说明:7 c( n# _3 z! Z
把“# chkconfig: 2345 98 98”和“# description:http server”写入到/etc/init.d/httpd的“#!/bin/sh”字段下面。
# b. h" I% L: `% x3 X& @! ^4 N0 v( C  C
, r4 y% n9 v7 V7 a
我只是加多了个参数 -i,如果不加该参数,虽然屏幕上显示:0 {# D8 ]. z4 a- L
#!/bin/sh4 [! z/ \" x8 l
# chkconfig: 2345 98 98
. u8 Y+ A- _4 i# N& R% ~# description:http server' t8 c, o8 v$ K; `7 `- f
, n. C5 H" }4 [+ D

  P  w0 f; U* g  C' A; ?2 z) G
4 C. y( T, i) J6 |sed -i '/#!\/bin\/sh/a\# chkconfig: 2345 98 98\n# description:http server' /etc/init.d/httpd3 D$ y" ~& y3 M. }* P; n" k8 ?

: u9 y! q- E4 H+ O( L% n2 d
; u  K% n8 y) l& @6 ]. [) c  a0 A: ]' H1 U% s( h, r- d* I/ P" `! z

作者: yin123    时间: 2020-4-16 18:58
shell如何在指定文件的指定位置后面添加内容




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2