次のサンプルテキストを含むファイルがあります。
THIS(
is first
Line);
THAT(
is second line);
THIS(
is third
line);
THAT(
is
fourth
line);
ファイルを見ると、各セクションは「THIS」または「THAT」で始まり、各テキストセクションはセミコロン()で終わります;
。私は「THIS」と「THAT」を検索し、すべての「THIS」部分を1つのファイルにコピーし、すべてのfirst_file
「THAT」部分を別のファイルにコピーするUnixコマンド/スクリプトが必要ですsecond_file
。
例: 最初のファイルには以下を含める必要があります。
THIS(
is first
Line);
THIS(
is third
line);
2番目のファイルには、次のものを含める必要があります。
THAT(
is second line);
THAT(
is
fourth
line);
ベストアンサー1
与えられた
$ cat thisthat
THIS(
is first
Line);
THAT(
is second line);
THIS(
is third
line);
THAT(
is
fourth
line);
それから
awk -vRS=';\n' 'BEGIN{ORS=RS} /^THIS/ {print > "these"} /^THAT/ {print > "those"}' thisthat
結果
$ head these those
==> these <==
THIS(
is first
Line);
THIS(
is third
line);
==> those <==
THAT(
is second line);
THAT(
is
fourth
line);