パターンに従ってファイルを2つの部分に分割

パターンに従ってファイルを2つの部分に分割

大容量ファイルをパターンごとに2つの部分に分割する方法は?

例えばfile.txt:

ABC
EFG
XYZ
HIJ
KNL

このファイルを分割XYZしてfile1XYZfile2

ベストアンサー1

これは仕事です。csplit:

csplit -sf file -n 1 large_file /XYZ/

sファイルを自動的に分割してプレフィックス付きのセグメントを作成し、同じ単一のf数字filen番号を付けます。file0を使用すると、/regex/一致する行に分割されますが、含まれませんregex。次に分割そしてregexオフセットを追加して一致する線を含めます+1

csplit -sf file -n 1 large_file /XYZ/+1

これにより、2つのファイルが作成されます。 名前を指定する必要がある場合は、いつでもコマンドに空のパターンを追加してfile0最初のファイルを削除できます。file1file1file2csplit

csplit -sf file -n 1 large_file // /XYZ/+1

が作成されましたが空ですfile0ので、安全に削除できます。file1file2file0

rm -f file0

おすすめ記事