ファイルの各行を読み取り、各行を取得して行データを含むファイルを作成したいと思います。
たとえば、私が読みたいファイルがtxt.txtで、次の4行が含まれているとします。
data for the first row
data for the second row
data for the third row
data for the fourth row
入力ファイルの1行をそれぞれ含む4つの出力ファイルを生成したいと思います。したがって、入力ファイルを読み取った後に4つのファイルが生成されます。 1つはtext1.txt(データの最初の行を含む)、もう1つはtext2.txt(データの2行目を含む)などです。
答え1
簡単な答えは次のとおりです。
awk '{ print > "text"NR".txt"}' < input
NR
これは、現在の行番号を含むawkの特殊変数に従って名前付きファイルに各行を印刷します。
GNUパーティションを使用すると、次のようになります。
split -l1 --additional-suffix=.txt --numeric-suffixes=1 --suffix-length=1 input text
これにより、入力ファイルinput
に一度に1行ずつ()プレフィックスが付けられ、サフィックスが追加され、1から始まる数字のサフィックスがあり、パディングのない-l1
ファイルに分割されます。この方法は9行の入力に制限されます。ファイル名が柔軟である場合は、そのオプションを削除するとファイル名がに指定され、最大99行になります。text
.txt
--suffix-length=1
text01.txt .. text11.txt ...