ブロックされたファイルを解析し、より小さなファイルを生成します。

ブロックされたファイルを解析し、より小さなファイルを生成します。

次のファイルがあります。

1weather dnsndjsdn 
2nm bdbdb bdbdbdbdnnd
3gfdu hsihdishdis
5
1hdohdsohsoihssodhoishs
2nfdksnkdsnfsdsjndkdj
3kjdscdskndskjndndsdsdsd
5

同様に、1つのファイルに1から5までのチャンクがほぼ20,000個あります。

チャンク 1 から 5 までの数を計算し、ファイルをより小さい 4 つのファイルに分割する必要があります。最初の3つのファイルは同じ数のブロック1〜5を持つことができ、最後の小さなファイルには残りのブロック1〜5があります。

1から5までの5つのブロックがあるとしましょう。

1weather dnsndjsdn 
2nm bdbdb bdbdbdbdnnd
3gfdu hsihdishdis
5
1hdohdsohsoihssodhoishs
2nfdksnkdsnfsdsjndkdj
3kjdscdskndskjndndsdsdsd
5
1weather dnsndjsdn 
2nm bdbdb bdbdbdbdnnd
3gfdu hsihdishdis
5
1hdohdsohsoihssodhoishs
2nfdksnkdsnfsdsjndkdj
3kjdscdskndskjndndsdsdsd
5
1weather dnsndjsdn 
2nm bdbdb bdbdbdbdnnd
3gfdu hsihdishdis
5

次のように4つのファイルを作成します。

ファイル1:

1weather dnsndjsdn 
2nm bdbdb bdbdbdbdnnd
3gfdu hsihdishdis
5

ファイル2:

1hdohdsohsoihssodhoishs
2nfdksnkdsnfsdsjndkdj
3kjdscdskndskjndndsdsdsd
5

ファイル3:

1weather dnsndjsdn 
2nm bdbdb bdbdbdbdnnd
3gfdu hsihdishdis
5

ファイル4:

1hdohdsohsoihssodhoishs
2nfdksnkdsnfsdsjndkdj
3kjdscdskndskjndndsdsdsd
5
1weather dnsndjsdn 
2nm bdbdb bdbdbdbdnnd
3gfdu hsihdishdis
5

Unixスクリプトを使用してこれを達成する方法を提案できる人はいますか?

どんな助けでも大変感謝します。

ベストアンサー1

グレブを使用しますか?

grep -E '^1' < file_to_parse > blocks_1
grep -E '^2' < file_to_parse > blocks_2
grep -E '^3' < file_to_parse > blocks_3
grep -v -E '^1' | grep -v -E '^2' | grep -v -E '^3' < file_to_parse > other_blocks

検証されていません。

おすすめ記事