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

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

2
findコマンドでnewermtはどういう意味ですか?
このオプションを使用して、特定の変更された時間の間にファイルを検索できることを知っています。しかし、私はこれが何を意味するのか興味がありますか? 私man find | grep newermtは何かを見つけようとしていました。しかし、私は直接的なコンテンツを得ませんでした。それはそうです-newer fileし、mtimeものは、それとの関係を有することができます。確信はないけど.. それで、-newermt実際にはどういう意味ですか?

1
名前が大文字で始まるファイルを見つける
名前が大文字で始まるすべてのファイルを検索しようとしています。次のコマンドを使用してみました。 find . -type f -regex '.*\/[A-Z][^/]*' 小文字のみのパスを検索しています。次の作品: find . -type f -regex '.*\/[ABCDEFGHIJKLMNOPQRSTUVWXYZ][^/]*' 同様に: find . -type f | grep '.*\/[A-Z][^/]*$' のすべての異なるオプションを試してみましたregextypeが、結果は同じです。 なぜfind小文字を含めるの[A-Z]ですか?私はそのための正規表現だと思った[a-zA-Z]。に大文字のみの範囲を指定する方法はありますfindか?
14 find 

5
find -exec lsの出力をソートします
find … -exec ls -ls ;ファイル名でアルファベット順にソートして出力することは可能ですか? これは私のcronコマンドです: find /home/setefgge/public_html -type f -ctime -1 -exec ls -ls {} \; ほとんどの場合、このコマンドは正常に機能します。ただし、結果は意味のある順序でソートされません。ファイル名フィールドで並べ替える場合、非常に役立ちます。
14 find  ls  sort 

3
-execが失敗した場合にfindから抜け出す
ファイルの操作の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の私のバージョン: $ find -version | head -1 find (GNU findutils) 4.4.2
14 find 

5
パラメーター形式が正しくないcygwinのコマンドを見つける
Windowsマシンでcygwinを使用しています。私は検索をしようとしていますが、パラメータ形式が正しくありません。何故ですか? $ ls bootstrap.jar catalina-tasks.xml catalina.bat catalina.sh commons-daemon-native.tar.gz commons-daemon.jar cpappend.bat digest.bat digest.sh setclasspath.bat setclasspath.sh shutdown.bat shutdown.sh startup.bat startup.sh tomcat-juli.jar tomcat-native.tar.gz tool-wrapper.bat tool-wrapper.sh version.bat version.sh $ find . -name "version.sh" FIND: Parameter format not correct cygwinのインストール中に何かをインストールする必要がありますか、それとも何か間違っていますか?
14 find  cygwin 

4
変数展開のあるbashスクリプトで-execを見つける
bashスクリプトで次のようなコマンドを実行しようとしています。のすべてのサブフォルダーを検索し$sourcedir、特定の種類のすべてのファイルをのルートレベルにコピーする必要があります$targetdir。 #!/bin/bash # These are set as arguments to the script, not hard-coded sourcedir="/path/to/sourcedir" targetdir="/path/to/targetdir" find "$sourcedir" -type f -name "*.type" -exec sh -c 'cp "$1" "$2/`basename "$1"`"' "{}" "$targetdir" \; ことを除いて、これは、かなり近いように思える{}ように渡されていない$2と-exec sh -c ... これをできる限り「正しい方法」に近づけ、ファイル名の特殊文字(具体的には一重引用符文字)の許容範囲内で行いたいと思います。 編集:私は人々がxargs引数チェーンを使用することを提案しているのを見ます。私は、これは限られた数の議論に対してのみ大丈夫であるという印象を受けていました。たとえば、多数のギャラリーディレクトリから巨大なスライドショーディレクトリにコピーしようとしている数千の.jpgファイルがある場合、引数をチェーン化したソリューションは引き続き機能しますか? 編集2:私の問題は_、-execコマンドでshする最初のオプションの前に行方不明でした。findコマンドを機能させる方法に興味がある人は_、すべて追加してください。 find "$sourcedir" -type f -name "*.type" -exec sh -c 'cp "$1" "$2"' …

12
人間が読めるファイルを見つける
OverTheWire Banditチャレンジのレベル5を実行する効率的な方法を見つけようとしています。 とにかく、私はたくさんのファイルを持っています、そして、以下の基準を尊重するものだけがあります: 人間が読める サイズは1033バイト 非実行可能 現在、このfindコマンドを使用していますが、最後の2つの条件に一致するファイルを見つけることができます。 find . -size 1033c ! -executable ただし、人間が読み取れないファイルを除外する方法はわかりません。その挑戦のために私が見つけた解決策は-readableテストパラメータを使用しますが、私はこれがうまくいくとは思いません。-readableチャレンジの説明ではASCIIファイルまたはそのようなものを要求しますが、コンテンツではなくファイルの許可のみを調べます。
14 files  find 

5
年に基づいてファイルを移動する方法
1年ごとにファイルを移動する必要があります。findコマンドを使用しました find /media/WD/backup/osool/olddata/ -mtime +470 -exec ls -lrth {} \;|sort -k6 しかし、このコマンドを正常に実行するには、正確な値を知る必要がありmtimeます。2012年を指定できる場合は、2012年に関連するファイルのみが提供されます。 だから私は方法についてのアドバイスが必要です 2012年などの年に基づいてファイルを検索し、他のディレクトリに移動します。 OS release 5.2 FIND version GNU find version 4.2.27 Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION SELINUX
14 find 

5
2つの異なる単語が存在するファイルを検索する方法は?
同じファイルに2つの単語インスタンスが存在するファイルを検索する方法を探しています。私はこれまで、次の方法で検索を実行してきました。 find . -exec grep -l "FIND ME" {} \; 私が遭遇している問題は、「FIND」と「ME」の間にちょうど1つのスペースがない場合、検索結果がファイルを生成しないことです。「FIND ME」ではなく「FIND」と「ME」の両方の単語がファイルに存在する以前の検索文字列をどのように適合させるのですか? AIXを使用しています。
14 grep  find  search 

2
なぜfindコマンドのドットですか?
通常、次のfindようなコマンドが表示されます。 $ find . -name foo.txt 現在のディレクトリから検索を開始する場合。私のマシン(Ubuntu、Cygwin)では、ドットなしで同じ結果が得られることがわかりました。 なぜ通常含まれているのですか?明示的にするのは単なる慣習ですか、それとも特定のシステムで必要だったのですか?
14 find 

3
「find -exec」を別の「find -exec」内にネストすることは可能ですか?
次のようなものは私が後だ何何ですが、私のコードは仕事、私は脱出どんなにしない{}と+ ; find ./ -maxdepth 1 -type d -name '.*' -exec \ find {} -maxdepth 1 -type f -name '*.ini' -exec \ md5sum \{\} \\; \; このUnix-&-Linuxの質問を見た後、次のコードが機能することがわかりましたが、それ自体はfindをネストしていません。 find ./ -maxdepth 1 -type d -name '.*' \ -exec bash -c 'for x; do find "$x" -maxdepth 1 -type f -name "*.ini" …

3
bash: 'find'出力を 'readarray'にパイプする
私はを使用してファイルを検索しfind、それらのファイルをBash配列に配置して、他の操作(lsまたはなどgrep)を実行できるようにしています。しかしreadarray、findパイプで出力を読み取っていない理由を理解できません。 現在のディレクトリに2つのファイルがあるfile1.txtとしfile2.txtます。したがって、find出力は次のようになります。 $ find . -name "file*" ./file1.txt ./file2.txt だから私はそれを2つの要素が文字列である配列にパイプしたいと思います("./file1.txt"そして"./file2.txt"引用符なしで)。 他にもいくつか試してみました: $ declare -a FILES $ find . -name "file*" | readarray FILES $ echo "${FILES[@]}"; echo "${#FILES[@]}" 0 echo出力からわかるように、私の配列は空です。 だから私はここで何が間違っているのですか?の出力を標準入力としてreadarray読み取らずfind、それらの文字列を配列に入れないのはなぜですか?
14 bash  find 


5
findコマンドを使用してファイル名から(1)を削除する方法
最近、Mac OS 10.7(Lion)でXLDを使用して、すべてのFLACファイルを44.1 kHzの低いサンプリングレートと24ビットのビット深度に変換しました(iPhone / iPodはそれ以上をサポートしていないため)。 以前のすべてのファイルを上書きするようにXLDに指示しましたが、XLDは次の(1)ようなファイルの最後に some_song.m4a に some_song(1).m4a だから今、私(1)は変換したすべてのFLACファイルからそれを削除したい。 おそらく、プログラムやAppleScriptを使用してファイルの名前を変更することもできたはずですが、古い学校のコマンドラインを使用して学習したかったのです。 これfind . -name *\(1\).m4aにより、変換されたすべてのFLACファイルが取得されます。 次の私は、私が何かを知っている-execし、mvすべての見つかったファイルの名前を変更します。しかし、私が理解できないのは、元のファイル名を保持し、単に削除する方法(1)です。 修正したくないファイル名の部分を保存するために、グループ正規表現のキャプチャを行う必要があるのでしょうか?または、すべてを1行で実行することは不可能であり、シェルスクリプトを作成する必要があります(これはそれほど快適ではありませんが、試してみたいと思います)。 ヒントや提案は大歓迎です!ありがとう!

3
除外ディレクトリを見つける
私はLinux(Ubuntu)を使用していますが、特定のディレクトリ(.hgなど)を除外したいのですが、 find | less リストから.hgディレクトリを除外するために次のことを試みましたが、動作しないようです。 find -type d \( ! -iname \.hg \) find -type d \( ! -name \.hg \) find -type d \( ! -iname .hg \) .directoryfindコマンドで除外するにはどうすればよいですか
13 find 

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