非常に大きなXMLファイルを特定の行数の小さなチャンクに分割する

非常に大きなXMLファイルを特定の行数の小さなチャンクに分割する

以下は、大容量XMLファイル(2GB)から最初の100000行を抽出する方法です。

head source.xml -n 100000 > part.xml

ファイル全体が分割されるまで、どのように100000行(または特定のファイルサイズの塊)に分割することができますか?

答え1

使用できる

split -l lines_per_file --additional-suffix=.xml source.xml part

その後、ファイルを読み取り、1行に複数の塊にsource.xml分割しますlines_per_file。結果は一連のファイルpartaa.xml、、、、、...に記録されます。partab.xmlpartac.xml

たとえば、異なる数のサフィックス文字を使用する場合は、この-aオプションを使用して数字を指定できます。ファイル-a 1parta.xml、、、、partb.xml...partc.xml

-b size_in_bytes行数の代わりにファイルサイズのチャンクに分割するには-l lines_per_file

結果ファイルは無効なXMLファイルである可能性が高いです(入力に分割する行/バイトが少なすぎるためにファイルを取得しない限り)。

関連情報