- 論壇徽章:
- 0
|
shell怎樣對(duì)xml結(jié)構(gòu)的文件進(jìn)行編輯
...
特征不是很強(qiáng),而且要倒回去處理。
有是有解法,但是覺得有點(diǎn)煩, 
希望能有更好的解法
- awk ' BEGIN {i=0;j=0; flag=0}
- /snmpelement/,/\/snmpelement/ {
- if ( $0 ~ "<snmpelement" ) { i=0 ; j++ }
- a[i,j]=$0
- i++
- } END {
- for ( n=1; n<=j; n++) {
- for ( m=0; m<=i; m++) {
- if ( a[m,n] ~ "<host>;21.5.12.16</host>;" ) flag++
- if ( a[m,n] ~ "<description>;yui_S4/0/0_SanYo</description>;" ) flag++
- }
- if ( flag == 2 ) sub("true","false",a[0,n])
- flag=0
- }
- for ( n=1; n<=j; n++) {
- for ( m=0; m<=i; m++) {
- print a[m,n]
- }
- }
- }' a.xml
復(fù)制代碼 |
|