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

ファイルとディレクトリを検索するコマンドラインユーティリティ。

2
-execに欠けている引数は何ですか?
次のコマンドを使用して、30日以上経過したファイルやディレクトリのディレクトリをクリアし、アーカイブディレクトリに移動します。アーカイブディレクトリは、ファイルの返却を求められない場合は数週間後に削除できます。ターゲットディレクトリにはユーザー名ごとのサブディレクトリがあり、アーカイブディレクトリも同様です。 これは私が使用するコマンドです: find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \; 私はUbuntuのを頼む上の質問に答えるために、このバージョンの修正を提案し、別のユーザーが行の終わりを変更するには、コードを編集した\;ために+、それはより速くだとして(と、より正しいです?)。こちらをご覧ください ただし、コマンドが実際に使用するコマンドに含まれていない+場合は、この方法で使用しても機能します。試してみると、エラーメッセージが表示されます。-execls -lh+ find: missing argument to '-exec' なぜこのように振る舞うのか、または正しいコマンドがどうなるのかはわかりません。コマンド修正を投稿するだけでなく、盲目的に提案に従うだけではなく、理解したいと思います。



7
特定の拡張子を持つファイルとそれらが入っているディレクトリをカウントするにはどうすればよいですか?
.c大規模で複雑なディレクトリ構造で拡張子を持つ通常のファイルの数、およびこれらのファイルが分散しているディレクトリの数を知りたい。必要な出力は、これらの2つの数値だけです。 ファイルの数を取得する方法についてこの質問を見てきましたが、ファイルが存在するディレクトリの数も知る必要があります。 ファイル名(ディレクトリを含む)に文字が含まれている可能性があります。.または-で始まり、スペースまたは改行がある場合があります。 名前がで終わる.cシンボリックリンクと、ディレクトリへのシンボリックリンクがあるかもしれません。シンボリックリンクを追跡したりカウントしたりしたくない、または少なくともそれらがカウントされているかどうか、いつカウントされるのかを知りたい。 ディレクトリ構造には多くのレベルがあり、最上位ディレクトリ(作業ディレクトリ)には少なくとも1つの.cファイルがあります。 私は急いで(Bash)シェルでいくつかのコマンドを書いて自分でそれらを数えましたが、結果が正確だとは思いません... shopt -s dotglob shopt -s globstar mkdir out for d in **/; do find "$d" -maxdepth 1 -type f -name "*.c" >> out/$(basename "$d") done ls -1Aq out | wc -l cat out/* | wc -l これは、あいまいなリダイレクトに関する苦情を出力し、現在のディレクトリ内のファイルを見逃し、特殊文字でトリップします(たとえば、リダイレクトされたfind出力はファイル名に改行を出力します)。 .cファイルとそれらを含むディレクトリを確実に列挙するにはどうすればよいですか? それが役立つ場合、悪い名前とシンボリックリンクでテスト構造を作成するいくつかのコマンドがあります: mkdir -p cfiles/{1..3}/{a..b} && cd …

5
Linuxでファイルを検索し、特定のディレクトリを除外する
次のような検索結果があります。 rm -f crush-all.js find . -type f \( -name "*.js" ! -name "*-min*" ! -name "*console*" \) | while read line do cat "$line" >> crush-all.js echo >> crush-all.js done 検索で「test」というディレクトリを除外するために追加したいのですが、どういうわけか「-type d」を追加する方法がわからないようです。それをどうやってやったのですか? ありがとう!
14 find 


1
いくつかのファイルを親ディレクトリに移動する方法は?
誤ってflacフォルダーに入れられたすべてのmp3を親フォルダーに引き出したいと思います。 フォルダの深さは問題ではありません。一致するファイルを1つ上のディレクトリに移動するだけです。 ファイルを選択する方法は次のとおりです。 find . -path "*/flac/*" -name '*.mp3' これは私の音楽フォルダから動作しますが、私はここで立ち往生しています。私が見つけたすべての解決策は、ファイルを現在のフォルダーの親に移動するか、何らかの固定構造を必要とします。

2
findコマンドが/ run /で爆発するのはなぜですか?
次のコマンドを使用して、この回答で指定されたpythonバージョンを確認しました。以下に示す1つのエラーを除いて機能します。誰でもその理由を説明できますか? $ sudo find / -type f -executable -iname 'python*' -exec file -i '{}' \; \ | awk -F: '/x-executable; charset=binary/ {print $1}' \ | xargs readlink -f | sort -u | xargs -I % sh -c 'echo -n "%: "; % -V' エラー: find: ‘/run/user/1000/gvfs’: Permission denied
13 permissions  find 

2
誰でも書き込み可能なファイルとフォルダを見つけてスティッキービットを設定するにはどうすればよいですか?
次のことを実行したい: /ルートからすべての書き込み可能なファイルとフォルダを見つける必要があります。 見つかった場合は、スティッキービットが設定されているかどうかを確認する必要があります。 スティッキービットが設定されていない場合は、設定します。 この種の問題に対するコマンドラインソリューションを考え出すことはできますか?

1
グロビングはシェルの機能ですか?
私はこれとこのような多くの質問と回答を読みました ワイルドカードは、コマンドを実行する前にシェルによって展開され、シェルの機能であることがわかります。また、ワイルドカードは、多くの引数を受け入れることができるコマンドで機能します。ではfind . -name *.rb 、我々は現在のディレクトリに複数のファイルを持っている場合find:検索は、複数の引数を受け入れることができないと、これを解決する方法があるので、私たちにエラーを与えます find . -name "*.rb" find . -name '*.rb' find . -name \*.rb アスタリスクをエスケープし、シェルによる展開を防ぎますが、ワイルドカードはシェルの機能です。アスタリスクをエスケープすると、シェルはその意味を認識せず、という名前のファイルを見つけるはず*.rbです。この場合、アスタリスクはどのように展開されますか?
12 bash  find  wildcards 

5
/ tmp内のフォルダーがクリーンアップされるのを防ぐにはどうすればよいですか?
この質問は、私の開発者のラップトップ上のUbuntu 14.10に関するものです。 私は/tmpそこに一時的なものを置くためにアプリケーションによって使用されるフォルダを持っています。このアプリケーションは通常、homedirに一時フォルダーを作成し、その後削除します。何らかの理由で、homedirが暗号化されている場合は機能しません。その代わり、/tmp/foohomedir内へのシンボリックリンクを作成しました。私のアプリケーションはそこに書き込み、一時的なサブフォルダーにすることができます。 これで/tmp/foo、マシンをリブートするたびに削除されます。今までは、再起動後に手動でフォルダを再作成しました。今、私が学んだどのようにクリーンアップ/ tmpディレクトリのですか?それをしている仕事があること。 私は見ました/etc/init/mounted-tmp.confが、私のbashfuと特にfindfuは、私が望むことをするのに十分ではありません。そのファイルからの抜粋を次に示します。 EXCEPT='! -name . ! ( -path ./lost+found -uid 0 ) ! ( -path ./quota.user -uid 0 ) ! ( -path ./aquota.user -uid 0 ) ! ( -path ./quota.group -uid 0 ) ! ( -path ./aquota.group -uid 0 ) ! ( -path ./.journal -uid 0 …
12 bash  14.10  find 


2
処理する前にファイルをアルファベット順にソートします
コマンドを使用します find . -type f -exec sha256sum {} \; > sha256SumOutput フォルダ階層内のすべてのファイルをハッシュします。残念ながら、アルファベット順でsha256sumファイル名を取得できませんfind。これをどのように修正できますか? ハッシュ化される前にそれらを順序付けして、アルファベット順にハッシュ化されるようにしたいと思います(これには理由があります)。
12 find 

3
特定の子ディレクトリが空の場合、親ディレクトリを削除します(空ではない)
特定のサブディレクトリにファイルを含むすべてのディレクトリを保持する必要がありますが、サブディレクトリが空のすべてのディレクトリを削除する必要があります。 より具体的には、構造です。 A | |--------312311 | | | |----Recording | |----a.txt | |----b.txt | | |--------453453 | |----Recording | | | |-------a.mp3 | |----a.txt | |----b.txt | | |--------566532 | |----Recording | |----a.txt | |----b.txt サブディレクトリにはファイルが含まれている場合と含まれていない場合があります。そのため、「312311」や「566532」などのディレクトリ全体を削除する必要があり、「453453」のみにすべてのデータを残しておく必要があります。 多くの投稿を見ましたが、多くの特定のファイル名にリンクしています。週に何度もやらなければならないので、どんな助けも大歓迎です。

2
フォルダー内の1日あたりのファイル数を数える
フォルダ内のすべてのファイルの数を見つけることができますが、かなり大きな数になりました。 find . -type f | wc -l #find number of files in DIR ls -lrt #list all files order by date 1日あたりのファイル数を調べる方法は? したがって、結果は次のようになります。 # left number is number of files and right is one day. 109294 2016-06-27 101555 2016-06-26 88123 2016-06-25 ... etc.

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