0

以下のような内容の大きなファイルが 1 つあります。

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 つのファイルなどで - まで出力することを意味します。また、作成されるファイルにも標準的な名前を付ける必要があります。

4

1 に答える 1

1

awk スクリプトが役立ちます。AIX で実行しているため、GNU awk (または gawk) をインストールすることをお勧めします。gawk には、通常の 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++;}'

これにより、ファイル 1、ファイル 2、... の順に番号が付けられたファイルにデータがダンプされます。

[OPのニーズを反映するように編集し、close(fn)を追加]

于 2013-05-16T14:39:39.567 に答える