各行に SQL クエリを含む巨大なファイルがあります。しかし、そのファイルにはいくつかのバグがあり、再作成には時間がかかりすぎます。セミコロンが欠落している行がいくつかあります。これらの行は常に ) で終わり、その後に改行が続くことがわかります。だから私がしたことは次のとおりです:
cat file.sql | tr ')\n' ');\n' > new_file.sql
ただし、これはすべての行にセミコロンを追加するだけです。わかりません。括弧が検出されないようです。セミコロンのない括弧で終わるすべての行を見つけて、改行の前に追加したいだけです。
どうやってやるの?sed
私は改行を扱うことができないことを知っているのでtr
、最良の選択だと思いました.