2

コマンドを使用して、、、、、などのfindさまざまなファイル拡張子とファイル名の長いリストを検索しようとしています。*.pl*.sh*.jarFileAFileB

私の検索コマンドは次のようになります。

find $dir -name '*.pl' -o -name '*.sh' -o -name ...

スパムを送信せずにこれを行うよりエレガントな方法はあり-o -nameますか? 最終的には、そのようなファイル名と拡張子の配列を用意してfind、それぞれを探したいと思います。これは、保守性と読みやすさが向上するためです。

4

1 に答える 1

3

-regexたとえば、あなたの例では、より簡潔に行うことができます:

find -E $dir -regex '.*\.(pl|sh|jar)' -o -regex '.*/File(A|B)'

Linux find には-Eスイッチがないことに注意してください-Linuxを使用-regextype posix-extendedしている場合は、代わりに使用する必要があり-Eます(これを指摘してくれた@Ansgarに感謝します)。

于 2013-07-11T15:19:47.880 に答える