大容量のテキストファイルを約500語単位に分割する方法は?

大容量のテキストファイルを約500語単位に分割する方法は?

splitファイルをサイズに応じてチャンクに分割するコマンドとwc単語数を数えるコマンドがあることを知っています。 2つを一緒に使用する方法がわかりません。

答え1

完了するために使用する必要がありますかwc?なぜならここ私は正規表現をcsplitパターンとして使用するための非常に良い試みを見つけました。今はテストするシステムはありませんが、正規表現自体がそのタスクを実行しているようです。

表現は次のとおりです。

 csplit input-file.txt '/([\w.,;]+\s+){500}/'

答え2

この試み:

file=/etc/passwd
count=2
count_file_lines=$(wc -l < "$file")
split -n$((count_file_lines/count)) "$file"
ls -ltr x*

これにより、ファイルが$count(2)に分割されます。

答え3

Unixユーティリティは通常ライン全体で動作するため、最善の方法は最初に1行に1単語が書き込まれるように入力を変更することです(単語に他の文字がある場合はこのコマンドを少し変更する必要があります) 。

<inputfile tr -c A-Za-z0-9 \\n

単語だけに興味があるので、出力を呼び出しにパイプして空白行を削除することをお勧めしますgrep。完全なコマンドは次のとおりです。

<inputfile tr -c A-Za-z0-9 \\n | grep -v '^$' | split -l 500

後で新しいファイルを結合して、すべてを1行に戻すことができます(このような方法を使用tr -d \\n)。ただし、Unixツールでさらに作業を行う予定の場合は、そのままにしてください。split行全体を実行できる唯一のプログラムではありません。 。

答え4

このソフトウェアを使用して分割された単語ファイルを処理することもできます。 Word Files Splitterは、Wordファイルのページ数またはセクション数に応じて、単一のWordファイルを複数のWordファイルに分割するための優れたツールです。

http://www.windowindia.net/word-files-splitter.html

関連情報