2011-03-28 18 views
0

シェルスクリプトを書かなくても、複数の条件に一致するファイルをリストする方法があるのでしょうか?複数のファイルに対してgrepコマンドを実行しますか?

私は私が行うことができます知っている:

ls ./files/ | grep samp 

をファイル名に「SAMP」を含むすべてのファイルのリストを取得するには...しかし、言うする方法があり、「リストのすべてのファイルその試合 "SAMP" または "examp"?

私はすでに

ls ./files/ | grep samp examp 

が動作しないことを考え出した...

+1

http://superuser.comに所属 –

答えて

2

使用find - それは例えば、この種のものを行うためにはるかに強力です:

find ./files -name \*samp\* -o -name \*examp\* 
0
ls ./files/ | grep -esamp -eexamp 
0

あなたは|を使用することができます。

ls ./files/ | grep -E 'samp|examp' 

-Eは、拡張の使用を可能にすることです(現代の)正規表現です。 grepのバージョンがその動作をサポートしていない場合は、|をエスケープする必要があります:

ls ./file/ | grep 'samp\|examp' 
0

あなたはfindコマンドを使用することができます。

find ./files -name \*samp\* -o -name \*examp\* 

-oは「または」を意味します。大文字小文字を区別しない一致のために-nameの代わりに-inameを使用できます。

関連する問題