ファイルを分割するための標準コマンドがありますsplit
。
words
たとえば、ファイルを10000行単位に分割するには、次のようにします。
split -dl 10000 words wrd
wrd.01
などの形式で複数のファイルを生成しますwrd.02
。
wtd.01.txt
しかし、これらのファイルに特定の拡張子を割り当てたいと思います。たとえば、ファイルをインポートしたいと思いますwrd.02.txt
。
それを行う方法はありますか?
答え1
もっとgnu split
最近バージョン(≥ 8.16
)、--additional-suffix
スイッチを使用して作成された拡張を制御できます。からman split
:
--additional-suffix=SUFFIX
append an additional SUFFIX to file names.
したがって、このオプションを使用する場合:
split -dl 10000 --additional-suffix=.txt words wrd
生成されたスニペットは自動的に次に終了します.txt
。
wrd00.txt
wrd01.txt
.........
答え2
これらの操作はシェルを使用して最もよく管理されます。分割を使用して、単純なループを作成してファイルの名前を変更します。例えば
for file in wrd.*
do
mv "$file" "$file.txt"
done
wrd.01、wrd.02などのファイル名がすべて.txt拡張子を持つように変更されます。
答え3
使用しませんが、split
後で簡単に名前を変更できます。または、以下でこれを行うことができますawk
。
awk '{filename = "wrd." int((NR-1)/10000) ".txt"; print >> filename}' inputfile