sedを使用してSQLスクリプトを編集しています。最初の "CREATE"パターンから最初の "ALTER"パターンまでのすべての行をコピーしたいと思います。私が抱えている問題は、sedは最初のオカレンスだけではなく、CREATEとALTERの各セットの間にすべての行をコピーすることです。救助へ範囲間のSedコピーパターン
sed -n -e '/CREATE/,/ALTER/w createTables.sql' $filename
sedを使用してSQLスクリプトを編集しています。最初の "CREATE"パターンから最初の "ALTER"パターンまでのすべての行をコピーしたいと思います。私が抱えている問題は、sedは最初のオカレンスだけではなく、CREATEとALTERの各セットの間にすべての行をコピーすることです。救助へ範囲間のSedコピーパターン
sed -n -e '/CREATE/,/ALTER/w createTables.sql' $filename
SED
sed -n '/CREATE/,/ALTER/{p;/ALTER/q}' file > createTables.sql
又は代替
たPerl:
perl -ne 'print if /CREATE/ .. /ALTER/ && close ARGV' -- "$filename" > createTables.sql
これは、ALTERが一致したときに入力を閉じ、すなわち、それはそれ以上読み取ることはありません。使用
ありがとう。 perlはまだ分かっていませんが、スクリプト言語を手に入れようとしているようです。 – Stelios