我有一个文本文件,其中包含下面给出的数据,我想将uidNumber增加9000,所有数据应该保持不变。
输入文件:
cn: cn=DINAKAR PERI_DPA062,ou=DBS,dc=xyz,dc=com
objectClass: posixAccount
objectClass: inetOrgPerson
objectClass: extensibleObject
cn: DINAKAR PERI
uidNumber: 1001
dn: cn=JOSEPH ABBY_AJA059,ou=TSR,dc=xyz,dc=com
objectClass: posixAccount
objectClass: inetOrgPerson
objectClass: extensibleObject
cn: JOSEPH ABBY
uidNumber: 1002
.
.
.
.
输出文件:
only uidNumber should be like this
cn: cn=DINAKAR PERI_DPA062,ou=DBS,dc=xyz,dc=com
objectClass: posixAccount
objectClass: inetOrgPerson
objectClass: extensibleObject
cn: DINAKAR PERI
uidNumber: 10001
dn: cn=JOSEPH ABBY_AJA059,ou=TSR,dc=xyz,dc=com
objectClass: posixAccount
objectClass: inetOrgPerson
objectClass: extensibleObject
cn: JOSEPH ABBY
uidNumber: 10002
.
.
.
.
最佳答案
awk '/uidNumber/{$2+=9000}1' infile
这里有两个单独的动作:
/uidNumber/{$2+=9000}
:仅当找到模式时,增加第二个字段(数字上)
1
:始终打印当前行。