- 论坛徽章:
- 0
|
如何加行的问题
楼上两位也没看到
"补充说一下maillist可能是n"
这句吧
按你们的做法maillist n会被改成maillist y
写了个长点的,惭愧,不知道有没有方便点的
读到maillist行不改变,读到dn行检查下个记录是不是maillist,不是添加
,是不动
- #!/bin/bash
- awk '
- BEGIN { i=1 }
- {
- array[i]=$0
- i++
- next
- }
- END {
- for ( j=1; j<=i; j++ ) {
- if ( index( array[j],"dn" ) != 0 ) {
- if ( index( array[j+1], "maillist" ) == 0 ) {
- print array[j]
- print "maillist y"
- }
- else {
- print array[j]
- }
- }
- else {
- print array[j]
- }
- }
- }' $*
复制代码
TEST
- [root@bbhome test]# cat file
- dn: uid=a,o=aa.bb.cc ............................
- maillist y
- dn: uid=b ,o=aa.bb.cc...............
- maillist n
- dn: uid=c,o=aa.bb.cc ............................
- dn: uid=d,o=aa.bb.cc ............................
- maillist n
- dn: uid=e,o=aa.bb.cc ............................
- dn: uid=g,o=aa.bb.cc ............................
- dn: uid=h,o=aa.bb.cc ...........................
- [root@bbhome test]# temp2 file
- dn: uid=a,o=aa.bb.cc ............................
- maillist y
- dn: uid=b ,o=aa.bb.cc...............
- maillist n
- dn: uid=c,o=aa.bb.cc ............................
- maillist y
- dn: uid=d,o=aa.bb.cc ............................
- maillist n
- dn: uid=e,o=aa.bb.cc ............................
- maillist y
- dn: uid=g,o=aa.bb.cc ............................
- maillist y
- dn: uid=h,o=aa.bb.cc ...........................
- maillist y
复制代码 |
|