最新記事

特定のファイルを見つけて権限を変更する
bash
find
chmod

特定のファイルを見つけて権限を変更する

異なるアクセス権を持つ複数のファイルを含むPermissionsというディレクトリがあるとします。 私が望むのは、ファイルにカテゴリへのアクセス権がある場合は、そのカテゴリに同じアクセス権を付与したいとothers思います。group 例 1: file_1 が存在する場合は、r-x---r--ファイルに権限があることを望みます。r-xr--r-- 例2: file_2に権限があり、r-xr----xそうすることを望みます。r-xr-x--x 例3: file_3 と file_4 にはそれぞれアクセス権があり、rw---x---これらのrwxr-----ファイルは変更されていない状態にしておく必要があります。 findそのようなファイルを検索してからその値を変更できることはわかっていますが、-perm 0740権限とは異なる権限を持つファイルのみを検索し、ファイルが-exec chomd --- \;見つかった場合はアクセス許可を変更してアクセス許可を変更するにはどうすればよいですか。othergroupgroupother

Admin

エラー:照会引数のリストが長すぎ、-max深さ0は役に立ちません。ディレクトリには多くのファイルが含まれています。
find
ls
delete

エラー:照会引数のリストが長すぎ、-max深さ0は役に立ちません。ディレクトリには多くのファイルが含まれています。

次のコマンドで、100日を過ぎたイメージキャッシュファイルを削除しようとします。 find /mnt/data/cache/*.jpg -maxdepth 0 -mtime +100 -type f -ls -delete しかし問題は/mnt/データ/キャッシュ/多数のファイルが含まれていますが、エラーが発生します。 bash: /usr/bin/find: 引数リストが長すぎます。 /mnt/data/cache/ にはサブディレクトリはありません。。 /mnt/data/cache/ フォルダ内のすべてのファイルと標準-最大深さ0解決策は役に立ちません それでは、特定の部品またはオフセット制限に基づいて検索する方法はありますか?それとも、100日を過ぎたディレクトリのファイルを削除する代替コマンドはありますか?

Admin

特定のサイズより小さい写真の検索と削除
files
find
images

特定のサイズより小さい写真の検索と削除

写真があるいくつかのディレクトリを繰り返し、画像サイズに応じて別のディレクトリ(800x600未満)にコピー(確認後削除)したいと思います。 同様のクエリを試しました find . -iname "*.jpg" -type f -exec identify -format '%w %h %i' '{}' \; | awk '$1<800 || $2<600 しかし、結果は得られませんでしたが、より小さな写真があると確信しています。 誰でも私にヒントを与えることができますか?ありがとうございます!

Admin

find コマンドは、サブディレクトリを計算せず、特定の文字列を含むディレクトリにファイルがいくつあるかを計算します。
linux
files
find

find コマンドは、サブディレクトリを計算せず、特定の文字列を含むディレクトリにファイルがいくつあるかを計算します。

次のコマンドを書いています。 find . -mtime -1 -type f -exec grep -ln '20191122' {} \; | wc -l これにより、「20191122」という文字列を含む日中に変更されたすべてのファイルを検索し、最後に説明に一致するファイル数を出力できます。 しかし、私が属しているディレクトリには、日中も更新されるサブディレクトリがあり、そのディレクトリも含まれますwc -l。 私はそれを使用すると、ディレクトリではなく-type f「ファイル」だけを計算すると思いました。 誰でもエラーやヘルプを見ることができますか? ありがとうございます。

Admin

そのファイル名のすべてのファイルを検索して印刷するためにファイル名を要求するスクリプトを作成する方法
shell-script
find

そのファイル名のすべてのファイルを検索して印刷するためにファイル名を要求するスクリプトを作成する方法

ユーザーにファイル名の入力を求められ、そのファイル名を持つシステム上のすべてのファイルを印刷するスクリプトを作成する必要があります。これまで私のscript.shには次のものがあります。 #!/bin/bash echo "please enter filename" read filename if [ find . -name $filename ] //not sure if the condition is right then //print all files on the system with that file name not sure what to put here else echo "file does not exist" fi 助けてください、ありがとう!

Admin

コマンドの検索、-exec tail、ファイルブラウザ
find
tail

コマンドの検索、-exec tail、ファイルブラウザ

そのコマンドを使用してファイルブラウザ(Nemo)を開きたいです。find結果は次のとおりです。 それだけです。 find . -name "foo*" -exec nemo {} + 各結果に対して新しいウィンドウが開きます。だから、結果が多すぎるときに多くのウィンドウを開くのを防ぐために、このコマンドを使用してtail -ウィンドウ数を制限したいと思います。 これはうまくいきません: find . -name "foo*" -exec tail -1 {} \; -exec nemo {} + これで、すべてのウィンドウが開いています。 -exec2番目のパラメータを最初のパラメータとして使用する方法はありますか-exec?それとも私が何かを間違って理解したのでしょうか? ユースケース: xfce メニュー > 検索コマンド、検索文字列を引数として使用: find /my/home/dir -name "*%s*" -exec tail - {} \; -exec nemo {} +。 (誤って)文字列「a」を検索すると、何百もの結果が出ることがあります。

Admin

サイズが1TBを超えるすべてのディレクトリを見つけて、ls -lを使用してそのディレクトリを所有している人が誰であるかを確認します。
linux
find
disk-usage
disk

サイズが1TBを超えるすべてのディレクトリを見つけて、ls -lを使用してそのディレクトリを所有している人が誰であるかを確認します。

現在、作業ディレクトリでディスク容量を探しています。その後、サイズが1TBを超えるディレクトリのみを探しています。次に、その出力を取得し、ls -lすべての特定のディレクトリを使用して、その特定のディレクトリを所有しているユーザーを見つけます。 。 私の現在の仮説はこんな感じです。 sudo -sh * |ソート-n | これにより、少なくとも1TB以上のディレクトリのサイズが表示されますが、その出力を取得してls -lに入れてユーザーを見つけることができるようにしたいと思います。 1TB以上を使用しています。 どんな助けでもとても役に立ちます。ありがとうございます!

Admin

名前 - パスを検索
linux
bash
ubuntu
command-line
find

名前 - パスを検索

私には木があります。 . ├── 1 │   └── a │   └── script.a.sh ├── 2 │   └── a │   └── script.b.sh ... └── a └── script.sh 私は見つけるべきですscript.*.sh。私は以下を実行します./a/script.sh: #!/bin/bash # path="/tmp/test" readarray files < <(find ${path} -path "*/a/script.*.sh") if [ ${#files[@]} -ne 0 ] then for file in "${files[@]}" do echo ${file} done fi 出力: /tmp/test/1/a/script.a.sh /tmp/test/2/a/script.b.sh これは有効なスクリプトです! find ${path} -path "*/a" -name "script.*.sh"ただし、findコマンドをスクリプトに変更すると、何も出力されません。 私のロジックは/tmp/test/*/a/script.*.sh私が言うパターンを持つすべてのファイルを探しますfind ${path} -path "*/a" -name "script.*.sh"。 現在残っている質問は次のとおりです。 find ${path} -path "*/a" -name "script.*.sh"コマンドは実際に何をしますか? にデバッグモードがありますかfind?私の言葉は、私が何を言っているのかを理解する方法を意味します(例:検索するパス、no find . -name "*te.st*"、just ./*/*te.st*)。 -name、同じコマンドライン(必要なケース、はい、説明)にありますか-path?それとも相互排他的ですか?それとも-path拡張バージョンと言えますか-name? manはい、はい、およびを使用できますgoogle。また、これらのソースからすべての質問に対する完全な答えが見つかりませんでした。

Admin

あるファイルの空白行を別のファイルの行に置き換える
bash
shell
find
csv
replace

あるファイルの空白行を別のファイルの行に置き換える

私は持っていますファイル1.csv "word 1" "" "word 3" "" "word 5" "word 6" そしてファイル2.csv "replacement text 1" "replacement text 2" "replacement text 3" "replacement text 4" "replacement text 5" "replacement text 6" file1に空の行(または ""のある行)があることを確認し、それをfile2の内容に置き換えるコマンドを探しています。 これ出力.csvしなければならない "word 1" "replacement text 2" "word 3" "replacement text 4" "word 5" "word 6"

Admin

mv:AとBは同じファイルです。
bash
find
mv
cygwin

mv:AとBは同じファイルです。

5つの.MOVファイルをMOVというフォルダに移動しようとしています。findファイルをリストし、ファイルを移動するために使用するものmv: $ mkdir MOV ; find . -type f -iname '*.MOV' -exec mv "{}" "MOV" \; mv: './MOV/IMG_2391.MOV' and 'MOV/IMG_2391.MOV' are the same file mv: './MOV/IMG_2395.MOV' and 'MOV/IMG_2395.MOV' are the same file mv: './MOV/IMG_2401.MOV' and 'MOV/IMG_2401.MOV' are the same file これが私に警告する理由を理解していなかったので、ファイルを元の場所に戻し、今回はファイルがecho何をしているのかを確認したかったのです。 $ mkdir MOV ; find . -type f -iname '*.MOV' -exec echo mv "{}" "MOV" \; mv ./IMG_2391.MOV MOV mv ./IMG_2394.MOV MOV mv ./IMG_2395.MOV MOV mv ./IMG_2400.MOV MOV mv ./IMG_2401.MOV MOV 重複がなくていいですね。 ターゲットフォルダの名前をMOV以外の名前で指定すると、警告は表示されなくなります。また、使用すると-maxdepth 1警告findはありません。または単にmv *.MOV MOV。 ここで同様の質問を見つけました。https://askubuntu.com/questions/1143012/why-do-i-get-x-and-y-are-the-same-file-when-using-mv-even-though-they-are-cしかし、その答えは問題を説明できないようで、回答者は後で偶然その問題を発見したと言いました。

Admin

2つの連続したfindコマンドを接続することは可能ですか?
find
performance

2つの連続したfindコマンドを接続することは可能ですか?

私が欲しい: 大文字で始まるすべてのディレクトリを検索 次に、このディレクトリ内で ".git"という名前のすべてのディレクトリを探します。 これはパフォーマンスを最適化するためのものです。私の解決策は、最初に検索範囲を特定のディレクトリに絞り込んだ後、その中で検索することでした。 まず私の考えはこうです。 find / -mindepth 1 -maxdepth 1 -name "[[:upper:]]*" 2番目の使用は次のとおりです。 find / -type d -name ".git" 2>/dev/null 今、私はそれらをどのように接続するのかわかりません。 2番目のアイテムはfind最初のアイテムの結果のみを検索したいと思いますfind。 またはXY問題の場合は、速度を向上させるための提案を教えてください。 .gitマシンのすべてのディレクトリを見つける必要があります。ただし、ディレクトリは.git大文字で始まる最上位ディレクトリに配置する必要があります。

Admin