如何在AIX服务器中使用Shell脚本查找和打印?

时间:2013-05-16 14:11:32

标签: aix

我有一个大文件,内容如下:

dn: CN=Brower\, Stephen,OU=Recipients,OU=Mailboxes,OU=Exchange2000,DC=raritanval,DC=edu
changetype: modify
replace: department
department: Computer Science
-

dn: CN=Brower\, Stephen,OU=Recipients,OU=Mailboxes,OU=Exchange2000,DC=raritanval,DC=edu
changetype: modify
replace: description
description: Computer Science

-

我想创建多个文件,其输出将从“dn:”开始到“ - ”,这意味着它将从dn开始搜索:并将打印到 - 在一个文件中,依此类推。并且需要为文件创建一些标准名称,并将其创建。

1 个答案:

答案 0 :(得分:1)

awk脚本可能会有所帮助。由于您在AIX上运行,因此您可能希望安装GNU awk(或gawk)。 gawk比vanilla awk有更多有用的功能。

awk 'BEGIN{fnum=1;}($1=="dn:"){flag=1; x=""}(flag==1){x=x "\n" $0}($1=="-"){flag=0; fn="file" fnum; print x > fn; close (fn); fnum++;}'

这会将数据转储到按顺序编号为file1,file2,...

的文件中

[编辑反映OP的需求并增加了关闭(fn)]