タグ付けされた質問 「find」

検索に関する質問については、ディレクトリ階層内のファイルを検索するコマンドラインユーティリティ。このタグは、find自体に関する質問や、findコマンドラインユーティリティの使用から発生する問題に関する質問に使用します。

6
名前に文字列が含まれるファイルを含むサブディレクトリのリストを取得します
特定のパターンに一致する名前のファイルを含むサブディレクトリのリストを取得するにはどうすればよいですか? より具体的には、ファイル名のどこかに文字「f」が含まれるファイルを含むディレクトリを探しています。 理想的には、リストには重複がなく、ファイル名なしのパスのみが含まれることになります。

9
サブディレクトリではなく親ディレクトリで検索を見つける
私はファイルツリーの奥深くにネストされており、どの親ディレクトリにファイルが含まれているかを知りたいのですが。 たとえば、ネストされたGitリポジトリのセットにいて、現在のファイルを制御する.gitディレクトリを見つけたいと思っています。find -searchup -iname ".git"のようなものを期待しています
45 shell  find 

3
find ... -exec grepでファイル名と行番号の両方を返す方法は?
を使用する場合find、文字列を検索するときにファイル名と行番号を返すにはどうすればよいですか?あるコマンドでファイル名を返し、別のコマンドで行番号を返すことができますが、それらを結合することはできません。 ファイル名: find . -type f -exec grep -l 'string to search' {} \; 行番号: find . -type f -exec grep -n 'string to search' {} \;
45 grep  find 

7
複数のフォルダー名のファイルを検索する
私はすべてのファイルのリストにしようとしていますdir1、dir2、dir3そしてdir4それは私がのサブディレクトリとしての任意の場所にあるかもしれないcwd使用してfindコマンドを。私は次のことを試みましたが成功しませんでした: find . -type f -regextype posix-egrep -regex 'dir1/.+|dir2/.+|dir3/.+|dir4/.+' 私も試してみposix-extendedました。これらのファイルを一覧表示するにはどうすればよいですか?

1
拡張子のないファイルを見つける
私が持っているとしましょう: foo.txt bar baz.ooo 使用すると、出力ls -1 !(*.*)のみが取得さbarれます。素晴らしい、今はfindで同じ結果を得たい- find -regex仕事をする人もいます。 注意: find -name !(*.*)!(*.*)それはまだ私が使用できないBashのグロブであるので、答えではありません。
43 bash  shell  find  wildcards 

9
すべての「非バイナリ」ファイルの検索
findコマンドを使用して、ディレクトリ内のすべての「非バイナリ」ファイルを検索することは可能ですか?これが私が解決しようとしている問題です。 Windowsユーザーからファイルのアーカイブを受け取りました。このアーカイブには、ソースコードと画像ファイルが含まれています。ビルドシステムは、Windowsの行末が含まれるファイルではうまく動作しません。flip -u* nixとウィンドウの間で行末を反転するコマンドラインプログラム()があります。だから、私はこのようなことをしたいです find . -type f | xargs flip -u ただし、このコマンドをイメージファイルまたはその他のバイナリメディアファイルに対して実行すると、ファイルが破損します。ファイル拡張子のリストを作成し、それを使用してフィルターをかけることができることを認識していますが、そのリストを最新の状態に保つことに依存しないものが欲しいです。 だから、ディレクトリツリー内のすべての非バイナリファイルを見つける方法はありますか?または、考慮すべき代替ソリューションはありますか?
43 files  find  text  newlines 


5
テキスト文字列を含まないすべてのファイルを見つけるにはどうすればよいですか?
テキスト文字列を含まないすべてのファイルを見つけるために使用できる簡潔なコマンドは何ですか? 私はこれを試してみました(-vを使用してgrepのパラメーターを反転させました)。 find . -exec grep -v -l shared.php {} \; 誰かがこれがうまくいくと言った: find . ! -exec grep -l shared.php {} \; しかし、それは私にはうまくいかないようです。 このページには次の例があります。 find ./logs -size +1c > t._tmp while read filename do grep -q "Process Complete" $filename if [ $? -ne 0 ] ; then echo $filename fi done …
40 grep  find  recursive 

3
パイプされたxargsの後のパイプコマンド
HP-UX ***** B.11.23 U ia64 ****無制限ユーザーライセンス find . -type d -name *log* | xargs ls -la ディレクトリ名(ディレクトリ名に含まlogれる名前)に続いて、そのディレクトリ内のすべてのファイルが表示されます。 ディレクトリは /var/opt/SID/application_a/log/、 /var/opt/SID/application_b/log/、 /var/opt/SID/application_c/log/などのログファイルが含まれています。 lsコマンドで最新の2つのログファイルのみを一覧表示したいので、通常はを使用して見つけますls -latr | tail -2。 出力はこのようなものでなければなりません。 /var/opt/SID/application_a/log/ -rw-rw-rw- 1 user1 user1 59698 Jun 11 2013 log1 -rw-rw-rw- 1 user1 user1 59698 Jun 10 2013 log2 /var/opt/SID/application_b/log/ -rw-rw-rw- 1 user1 …
38 shell  find  pipe  xargs 

2
UNIXで特定の日より古いファイルを見つけて削除する方法は?
ログ用のフォルダーが1つあり、その中に7つのフォルダーがあります。これらの7つのフォルダーにもサブフォルダーがあり、これらのサブフォルダーにもサブフォルダーがあります。フォルダー構造を変更せずに、サブフォルダーを含むすべてのフォルダー内の15日より古いすべてのファイルを削除したい、つまりファイルのみを削除したい。 mahesh@inl00720:/var/dtpdev/tmp/ > ls A1 A2 A3 A4 A5 A6 A7 mahesh@inl00720:/var/dtpdev/tmp/A1/ > ls B1 B2 B3 B4 file1.txt file2.csv
38 find 


5
検索を使用して複数のファイルの名前を変更する方法
コマンドfindコマンドを使用して複数のファイル(file1 ... filenからfile1_renamed ... filen_renamed)の名前を変更したい: find . -type f -name 'file*' -exec mv filename='{}' $(basename $filename)_renamed ';' しかし、このエラーが発生する: mv: cannot stat ‘filename=./file1’: No such file or directory ファイル名がシェル変数として解釈されないため、これは機能しません。
37 shell  find 

1
所有者およびファイル許可によるファイルの検索
私findが所有し、プライマリグループを持つファイルをしようとしていますroot。このようなファイルを検索するために利用可能なパラメーターはありますか?特定のディレクトリ内のすべてのファイルがに所有されていないことが重要です。そのrootため、サーバー上の誰かがroot(つまり、私が)所有するファイルを誤って作成していないことを定期的に確認したいと思います。確かにchown -R user:user /path動作しますが、確認できるようにしたいと思います。
35 find 

8
findを使用してディレクトリ名のリストを取得します
ディレクトリ名のリストを取得するためにこれを行うことができることを知っています: find . -type d -maxdepth 1 出力は次のようになります。 . ./foo ./bar なしのリストが好き./です。findに生の名前だけを出力させる方法はありますか? リストをフォーマットするためにstatに送信しようとしましたが、同じ結果が得られます。 find . -type d -maxdepth 1 -print0 | xargs -0 stat -f '%N'
35 find  directory 

4
ディレクトリに関連する「検索」出力
操作のfind特定のルートにあるすべてのファイルとディレクトリを再帰的に一覧表示するために使用したいと思いますcpio。ただし、ルートディレクトリ自体がパスに表示されないようにします。たとえば、私は現在以下を取得しています: $ find diskimg diskimg diskimg/file1 diskimg/dir1 diskimg/dir1/file2 しかし、私は取得したい file1 dir1 dir1/file2 (ルートは目的の出力にもありませんが、で簡単に削除できますtail)。 私はOS Xを使用していますが、作成中のスクリプトを他のOS Xユーザーと共有したいので、可能であれば追加のツール(GNU findなど)をインストールしないことを望みます。 cutルートリストを削除するためにこれを行うことができることを知っていますが、それは次善の解決策のようです。より良い解決策はありますか?
34 find 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.