ファイルの読み取り:開始パターンと終了パターンを含むパターン間のすべてのテキストを選択し、パターンセットごとに新しいファイルを作成します。

ファイルの読み取り:開始パターンと終了パターンを含むパターン間のすべてのテキストを選択し、パターンセットごとに新しいファイルを作成します。

以下を含むLinuxというファイルがありますfile.txt

sqlplus -s insert into table;  
commit;  
!  
sqlplus -s insert into table;  
commit;  
!  
sqlplus -s insert into table;  
commit;  
!
  
.  
.   

次のように複数のファイルを作成したいと思います。

ファイル1.txt:-

sqlplus -s insert into table;  
commit;  
!   

ファイル2.txt

sqlplus -s insert into table;  
commit;  
!   

ベストアンサー1

使用awk

$ awk '/^sqlplus/ {close(sql);sql="file"++c".txt"} {print > sql}' input_file
$ head *
==> file1.txt <==
sqlplus -s insert into table;
commit;
!

==> file2.txt <==
sqlplus -s insert into table;
commit;
!

==> file3.txt <==
sqlplus -s insert into table;
commit;
!

.
.

おすすめ記事