コードファイル内で、連続した白い線(ゼロ個以上の空白/タブと改行を含むことができる行)をコード間で移動して削除したいテキストとブロックの}
という結論に達しました。この結論は}
の前にインデントのためのスペースがあるかもしれないので、私はそれらを保持したいと思います。ここでPerl:正規表現:キャプチャグループ
は私がやろうものです。たとえば
perl -i -0777 -pe 's/\s+\n([ ]*)\}/\n($1)\}/g' file
、私のコードファイルがどのように見える場合(□空白文字がある):
□□□□while (true) {\n
□□□□□□□□print("Yay!");□□□□□□\n
□□□□□□□□□□□□□□□□\n
□□□□}\n
は、その後、私はそれがなりたいです:
□□□□while (true) {\n
□□□□□□□□print("Yay!");\n
□□□□}\n
しかし、私は期待した変更を行いません。私がここで間違っていることは何ですか?
正規表現は、おそらくこれに適したツールではありません。あなたのIDEがこのように書式を整えると、それはパーサを使用しています(また、コンパイル中でもあります)。 –
@TimBiegeleisen私はすべてのコメントを削除するスクリプトを通してファイルを実行するので、私はこれらのケースを時々得ます。だから私は同じスクリプトでそれをきれいにしたいと思います。 – rapt
あなたのコードはperlですか?それから私はperltidyを取得し、それを使用することをお勧めします。 – Sobrique