行区切りを使用して単一のファイルを複数のファイルに分割する方法

行区切りを使用して単一のファイルを複数のファイルに分割する方法

現在、例えばプレーンテキストファイルAがある。

lowest priority
very high significance.
outstanding
very novel

このファイルの各行には文が含まれています。このファイルを複数のファイルに分割したいと思います。各ファイルは、元のファイルAの1行で構成されています。たとえば、サンプルファイルAの場合は、次の4つのファイルを作成しようとします。

  • A1、一行ありますが、lowest priority
  • A2、一行あります。very high significance
  • A3、シングルライン、outstanding
  • A4、一行で、very novel

Linuxではどうしますか?

答え1

コマンドを使用すると、簡単にこれを行うことができますsplit。たとえば、

split -l1 -d -a 3 A A

詳細を確認してくださいman split

答え2

また、awkは非常に簡単です。

awk '{filename = FILENAME NR; print > filename; close(filename)}' A

答え3

n=1; while IFS= read -r line; do printf %s\\n "$line" > A$n; n=$((n+1)); done <A

関連情報