GNU/Linux >> Linux の 問題 >  >> Linux

1 つのテキスト ファイルを複数の *.txt ファイルに分割する方法は?

$ split -l 100 input_file output_file

どこで -l 各ファイルの行数です。これにより以下が作成されます:

  • output_fileaa
  • output_fileab
  • output_fileac
  • output_filead
  • ....

Linux bash コア ユーティリティ split を使用できます。

split -b 1M -d  file.txt file 

M に注意してください または MB どちらでもOKですが、サイズが異なります。 MB は 1000 * 1000、M は 1024^2

行で区切りたい場合は、 -l を使用できます パラメータ。

更新

a=(`wc -l yourfile`) ; lines=`echo $(($a/12)) | bc -l` ; split -l $lines -d  file.txt file

キリルが提案する別の解決策として、次のようなことができます

split -n l/12 file.txt

l であることに注意してください one ではない 、 split -n N のようないくつかのオプションがあります 、 k/Nl/k/Nr/Nr/k/N .


ジョンの答えは、OPが望むように.txtファイルを生成しません。用途:

split -b=1M -d  file.txt file --additional-suffix=.txt

Linux
  1. 大きな「tar」アーカイブを特定のサイズの複数のファイルに分割する方法

  2. Linuxで1つの特定のファイルを除いてフォルダ内のすべてのファイルを削除する方法

  3. 複数のファイルの拡張子を変更するにはどうすればよいですか?

  1. Linuxでテキストファイルに行番号を追加する方法

  2. ファイルに複数の行を追加するにはどうすればよいですか?

  3. 複数のファイルを1つのgzファイルにgzipする方法は?

  1. 行に基づいて単一のファイルを複数のファイルに分割する方法

  2. 特定のファイルを1つのファイルに連結しますか?

  3. テキストファイルの行を1行上または下に移動するにはどうすればよいですか?