我有一个文本文件,其中包含下面给出的数据,我想将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:始终打印当前行。

09-04 19:36