-2

関数、クラス (クラスとメソッド)、および try/catch ブロックのすべての中かっこの前に行を追加する bash スクリプトを作成する必要があります。

プログラムをsed EGと組み合わせて使用​​ すると思います:

*find . -type f \( -name "*.php \) -exec sed .......*

例えば:

<?php
function my_function() {

}
?>

なる:

<?php
function my_function() 
{

}
?>
4

2 に答える 2

1

GNU findとを使用する 1 つの方法を次に示しGNU sedます。関数とクラスで機能します。それに応じて調整して、選択した他のブロックを修正できます。このソリューションでは、先頭の空白も維持されるため、役立つ場合があります。

find . -type f -name "*.php" -exec sed -r -i 's/( *)(function.*|classes.*)\{/\1\2\n\1\{/' {} \;
于 2012-10-25T03:28:01.300 に答える
0
find . -type f -name '*.php' -exec sed -E $'s/ *{$/\\\n{/' -i {} \;

行末*{を改行と{.

特定の中括弧 (関数、クラス、try/catch) のみを実行し、他のもの (if、while など) を実行していない場合、シェル スクリプトは不十分であることが判明する可能性があります。

于 2012-10-25T03:25:22.840 に答える