find
を書く方法はありますか -exec
のいずれかが壊れた場合に破損するようにします ファイルの操作が失敗しますか?
例えば。 (javac
一部のファイルで、他の理由なしに1の終了コードを返すことができるプログラムとして便利に使用されます):
$ echo "public classXX A{}" >> A.java
$ echo "public class B{}" >> B.java
$ find . -iname \*.java -exec javac {} \;
./A.java:1: error: class, interface, or enum expected
public classXX A{}
^
1 error
上記の例では、exec
ファイルA.java
失敗した(そして終了コード1を返した)、find
コマンドが続行され、ファイルB.java
がコンパイルされました 同じように。 find
から抜け出す方法はありますか または、何らかの形式のfor
を使用する必要があります 代わりに?
私のバージョンの検索:
$ find -version | head -1
find (GNU findutils) 4.4.2
承認された回答:
少なくともGNUのfind
では 使用できるもの:
find ... -exec ... -o -quit