-maxdepth
オプションは -name
の前にある必要があります 以下のようなオプション
find . -maxdepth 1 -name "string" -print
find
を使用 :
find . -maxdepth 1 -name "*string*" -print
現在のディレクトリ内のすべてのファイルが検索されます (削除 maxdepth 1
再帰的にしたい場合) "string" を含み、それを画面に出力します。
「:」を含むファイルを避けたい場合は、次のように入力できます:
find . -maxdepth 1 -name "*string*" ! -name "*:*" -print
grep
を使用する場合 (ただし、ファイルの内容を確認したくない限り、必要ないと思います)次を使用できます:
ls | grep touch
しかし、繰り返します find
次のように grep を使用します。
grep -R "touch" .
-R
再帰を意味します。サブディレクトリに移動したくない場合は、スキップしてください。
-i
「大文字と小文字を区別しない」を意味します。これも試してみる価値があるかもしれません。
find $HOME -name "hello.c" -print
これは $HOME
全体を検索します (つまり、/home/username/
) システムで「hello.c」という名前のファイルを検索し、それらのパス名を表示します:
/Users/user/Downloads/hello.c
/Users/user/hello.c
ただし、HELLO.C
には一致しません。 または HellO.C
.一致させるには、大文字と小文字を区別せずに -iname
を渡します 次のようなオプション:
find $HOME -iname "hello.c" -print
出力例:
/Users/user/Downloads/hello.c
/Users/user/Downloads/Y/Hello.C
/Users/user/Downloads/Z/HELLO.c
/Users/user/hello.c
-type f
を渡します ファイルのみを検索するオプション:
find /dir/to/search -type f -iname "fooBar.conf.sample" -print
find $HOME -type f -iname "fooBar.conf.sample" -print
-iname
GNU または BSD (OS X を含む) バージョンの find コマンドで動作します。お使いのバージョンの find コマンドが -iname
をサポートしていない場合 、 grep
を使用して次の構文を試してください コマンド:
find $HOME | grep -i "hello.c"
find $HOME -name "*" -print | grep -i "hello.c"
または試す
find $HOME -name '[hH][eE][lL][lL][oO].[cC]' -print
出力例:
/Users/user/Downloads/Z/HELLO.C
/Users/user/Downloads/Z/HEllO.c
/Users/user/Downloads/hello.c
/Users/user/hello.c