指定された文字列の最初の出現時にファイルを2つに分割する

指定された文字列の最初の出現時にファイルを2つに分割する

指定した文字列が最初に出現した時点でテキスト ファイルを 2 つの部分に分割するにはどうすればよいでしょうか。split コマンドを調べましたが、そうはなりません。

以前、スクリプトを使用してこれを実行しました。しかし、あまり効率的ではなく、スクリプトを別のシステムに移動する必要があります。これを実現するより良い方法があるかどうか疑問に思っています。

答え1

の使用をお勧めします 分割(文脈分割)、次のように:

csplit [オプション] ファイルパターン

例えば、ファイルを見てみましょうファイル名含む

one
two 
three
four
five
six
seven
eight

コマンドでcsplit ファイル名 /four/

ファイルを取得するxx00

one
two 
three

およびファイルxx01

four
five
six
seven
eight

詳細は以下をご覧ください。http://docstore.mik.ua/orelly/unix/upt/ch35_10.htmそしてまたhttps://davidlyness.com/post/the- functional-and-performance-differences-of-sed-awk-and-other-unix-parsing-utilities の機能とパフォーマンスの違い

関連情報