0

postgres ダンプ ( pg_dump > file.sql) には、削除したいデータが含まれています。COPY table_name特定のステートメントと終了単語 (".") の間のすべての行を削除する単純な正規表現 (または sed/awk コマンド) はありますか。正規表現は NOT 一致や複数行のパターンには理想的ではないことはわかっていますが、とにかくこれらを試しました(崇高な検索/置換で):

"COPY ((?!\\[.])*.*)*"

"COPY ((?!\\[.]$)*(.[\n])*)*"

"COPY (?!\\[.]$)(.*[\n]*)*"

私が得ることができる最も近いものは、コピーステートメントの後のデータの最初の行と一致することです:

"COPY (?!\\[.]$).*[\n]+.*[\n]+"
4

1 に答える 1