ablog

不器用で落着きのない技術者のメモ

DDLの置換に使ったPerlワンライナーをメモっておく

OracleDDL 置換に使った Perl ワンライナー。echo ワンライナーも混じってるけどw

  • STORAGE句のINITIALの値を変更する。
perl -i.org -ple 's/STORAGE\((\s+)?INITIAL\s+[0-9]+/STORAGE\(INITIAL 1/gi' create_table.sql
  • オブジェクトを作成する表領域を変更する。
perl -i.org -ple 's/TABLESPACE\s+\"[a-zA-Z_]+\"/TABLESPACE \"USERS\"/gi' create_table.sql
  • 3つ以上の改行を2つにする。
perl -0 -i.org -ple 's/\n{3,}/\n\n/gi' create_table.sql
  • 空行を「/」に置換する。
perl -i.org -ple 's/^$/\//gi' create_table.sql
  • ファイルの末尾に「/」を追加する。
echo / >> create_table.sql
  • 行頭のスペースを削除する。
perl -i.org -ple 's/^\s*//' create_table.sql
  • 行末のスペースを削除する。
perl -i.org -ple 's/\s*$//' create_table.sql
  • 行頭と行末のスペースを削除する。
perl -i.org -ple 's/^\s*//;s/\s*$//' create_table.sql