次の内容を含むテストファイルがあります。
CREATE TABLE XYZ (
ABC INT,
CDE CHAR(10),
.
.
.
);
Similarly, REPLACE VIEW XYZ (
ABC,
CDE,
EFG
);
CREATE TABLE XYZ_1 (
ABC INT,
CDE CHAR(10),
.
.
.
);
Similarly, REPLACE VIEW XYZ (
ABC,
CDE,
EFG
);
これで、このテスト単一のファイルを2つのファイルに分割したいと思います。あるファイルにはill asCREATE
ステートメントが含まれ、他のファイルにはtilステートメントが含まれています。;
file1
file2
REPLACE
;
これを分割する方法を教えてください。
ベストアンサー1
方法は次のとおりですsed
。
sed -n 'H # append every line to hold buffer
/CREATE\|REPLACE/h # if CREATE or REPLACE, overwrite hold buffer
/;/{ # if line matches ; then
x # exchange hold space w. pattern space
/CREATE/w file1 # if pattern space matches CREATE, write to file1
/REPLACE/w file2 # if it matches REPLACE, write it to file2
}
' infile