2012-03-09 20 views
1

誰でも次のことができるシェルスクリプトを手伝ってもらえますか?.javaファイルからテキストパターンを見つけて削除するシェルスクリプト

Javaファイルからcatchブロックを削除します。私はcatchブロックを検索して削除できるシェルスクリプトが必要です。

私は、次のcatchブロックを持つJavaファイルの数百を持っている、と彼らはシェルスクリプトで削除する必要があります。

} catch (SomeException e) { 
if (Loging.isOn()) { 
    System.out.println("Exception"); 
    // and also some code which differs from file to file. 
} 
+1

*シェルスクリプトを使用する必要がありますか?これにはおそらく良いツールがあります。 –

+0

いいえ、シェルスクリプトを使用する必要があります。私は自動的にチェックアウトする必要があります - 編集 - 保存 - ファイルをチェック...私たちはチェックインとチェックアウトにシェルスクリプトを持っています...ファイルを編集するスクリプトが必要... – amithgc

+0

これは削除する必要がある正確な文字列ですか?任意のテキストエディタでfind/replaceを使用できます。編集プラスのように、複数のファイルを同時に検索/置換することもできます。 –

答えて

1

私はWindows上だと便利な一切のLinuxマシンを持っていません。私はあなたがLinuxシステムにいると仮定します。必要なのはLinux上のBASHで利用できるsedコマンドです。私はこのコードを検証することができませんでしたが、おそらく微妙に書かれたように動作するはずです。これは、削除したいブロックが "} catch"で始まり、そのブロックの中に他の右中括弧がない "}"で終わると仮定します。もちろん、このコードを実行するときは適切なディレクトリにいなければなりません。そのため、CDコマンドを使用してそこにアクセスしてください。 "in ..."が除外されている場合、ループは "in $ @"が与えられたかのように実行されます。

for i in /directory/*.java 
do 
    # echo 'Working on $i file' 
    copy $i tempfil.txt 
    sed -e '/\} catch/,/^\}/d' tempfil.txt > $i 
done 
+0

ありがとうございます... – amithgc

関連する問題