最新記事

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

Bashでファイルを見つけ、パターンを印刷ファイル名と一致させます。
bash
grep
find
pattern-matching

Bashでファイルを見つけ、パターンを印刷ファイル名と一致させます。

一致するパターンを一覧表示ptrnし、リストの前にファイル名を印刷する次のコードがあります(コンテキストオプションを使用-C NUM)。 find "$fdir" "${isufx[*]}" -type f -exec bash -c \ "grep --color -l '$ptrn' '{}'; grep --color -ni ${ictx[*]} '$ptrn' '{}'" \; モンスターという点には同意します。通話を削除することにしました。bash -c結果は次のとおりです。 OFS=$IFS IFS=$'\n' for f in $(find "$fdir" ${isufx[*]} -type f); do grep -l "$ptrn" "$f" && grep -ni ${ictx[*]} "$ptrn" "$f" done IFS=$OFS 上記の提案はありますか?ファイル名の上と下に空白行を使用して、および==>間に囲まれたリストの前にファイル名を印刷したいと思います。<== 屋根の出力防止の提案の後、次のような結果findが出ました。 find "$fdir" ${isufx[*]} -type f | while read f; do grep -l "$ptrn" "$f" && grep -ni ${ictx[*]} "$ptrn" "$f" done

Admin

findで検索して置き換えると、xargsは機能しません。
find
xargs

findで検索して置き換えると、xargsは機能しません。

ターゲットフォルダとサブフォルダ内のhtml / cssファイルのソースコードのURLを検索して置き換えようとします。次のコマンドを試してみました。 find . -type f | xargs sed -i 's/https\:*\.websitedomain\.fr\///g' 私は何を見逃していますか? どんな提案でもよろしくお願いします。

Admin

-exec \{\} を含む find コマンドでこの部分はどういう意味ですか? [コピー]
shell-script
find
ksh

-exec \{\} を含む find コマンドでこの部分はどういう意味ですか? [コピー]

この質問にはすでに答えがあります。: コマンドとそのオプションの引数として中括弧{}を使用します。 (回答1個) 閉鎖4年前。 このコマンドがあります(KSH) find -regextype posix-extended -type f -regex '.*/txt' -exec ls -l --full-time \{\} \; | sort -bnr だから今まで私は上記のコマンドを読んで解読しています。私が知っているのは -regextype posix-extended これは正規表現をposix-extendに変更します。 -type f これはファイルのみを返します。 -regex '.*/txt' これは正規表現だけです。 -exec ls -l --full-time 実装するls -l --full-time \\{\\} 私はこれを理解していません。それは何をしますか?私が知っているのは、-exec次に終わらなければならないということです{} \;。しかし、中かっこ内にバックスラッシュがあるのはなぜですか?

Admin

cshファイルで権限コマンドを検索して印刷する
shell-script
shell
find
chmod
csh

cshファイルで権限コマンドを検索して印刷する

.cshディレクトリ内のファイルの権限を見つけて表示できるファイルを作成します。 スクリプトの次の内容を使用してください #!/bin/csh -b find . type -f \( -name "*.sh" -o -name "*.txt" -o -name "*.log" -o -name "*.pl" -o -name "*.py" \) \ -printf "depth="%d/"sym perm="%M/"perm="%m/"size="%s/"user="%u/"group="%g/"name="%p/"type="%Y\\n スクリプトをインポートすると出力が出ないため、機能しないようです。このスクリプトを実行するより良い方法はありますか?

Admin

macOS端末を使用してサブディレクトリ内のディレクトリを検索する
find
directory
macos

macOS端末を使用してサブディレクトリ内のディレクトリを検索する

xmacOS端末を使用して特定のサブディレクトリ内のディレクトリを見つけたいのですが、わかりyませんy。 このコマンドはfind / -type d -name "x"検索には機能しますが、xシステムに指定されたディレクトリが多いため、そのディレクトリの下にディレクトリを見つける必要があります。xxy 私は努力しました - find / -type d -name "/y/x"または find / -type d -name "y/x"または find / -type d -name "../y/x" しかし、これらは私に望む結果を与えません。

Admin

検索パターンと一致し、Pythonプログラムへの順次入力として機能するGlobファイル
linux
ubuntu
find
python

検索パターンと一致し、Pythonプログラムへの順次入力として機能するGlobファイル

"ls"の後には次のディレクトリがあります。 08-21-resume-numrelblocks3-nqh2-numblocks2-stackonlyFalse-dockimgnegativereward-gpfg-uniformxy 08-22-32-nqh2-alpha-stack1-stack2-numrelblocks3-nqh2-dockimgnegativereward-gpfg-uniformxy-epsgreedyprobaction0.1-stackonlyFalse-SNA-Truemultihead-nonlinearitybeforeattn 08-22-6-12-alpha-stack11-stack12-numrelblocks3-nqh1-dockimgnegativereward-gpfg-multitower4-epsgreedyprobaction0.1-stackonlyTrue-GAT-Truemultihead-nonlinearitybeforeattn 08-22-alpha-stack5-stack6-numrelblocks3-nqh1-dockimgnegativereward-gpfg-multitower3-epsgreedyprobaction0.1-stackonlyTrue-GAT-Truemultihead-nonlinearitybeforeattn 08-23-alpha-stack6-stack9-numrelblocks3-nqh1-dockimgnegativereward-gpfg-multitower3-epsgreedyprobaction0.1-stackonlyTrue-SNA-Truemultihead 08-23-lstmcell-alpha-stack1-numrelblocks1-nqh1-dockimgnegativereward-gpfg-uniformxy-SpatialNeighborhoodAttention-Truemultihead-Falsestackonly-praFalse-qcmFalse 私のプログラムExecution.pyに日付08-22のディレクトリを入力する必要があります。例えば python execute.py 08-22-32-nqh2-alpha-stack1-stack2-numrelblocks3-nqh2-dockimgnegativereward-gpfg-uniformxy-epsgreedyprobaction0.1-stackonlyFalse-SNA-Truemultihead-nonlinearitybeforeattn 08-22-6-12-alpha-stack11-stack12-numrelblocks3-nqh1-dockimgnegativereward-gpfg-multitower4-epsgreedyprobaction0.1-stackonlyTrue-GAT-Truemultihead-nonlinearitybeforeattn 08-22-alpha-stack5-stack6-numrelblocks3-nqh1-dockimgnegativereward-gpfg-multitower3-epsgreedyprobaction0.1-stackonlyTrue-GAT-Truemultihead-nonlinearitybeforeattn 各行を個別にコピーして貼り付ける手間をかけずにこれを行うにはどうすればよいですか?

Admin

特定の「検索」基準に一致するすべてのファイルの最初の行をどのように印刷できますか?
shell-script
text-processing
find

特定の「検索」基準に一致するすべてのファイルの最初の行をどのように印刷できますか?

.txt100バイトより長いすべてのファイルの最初の行を印刷したいです。これまでの基準を満たすファイルを収集しましたが、ファイルの最初のテキスト行を印刷する方法がわかりません。 find -size +100c -name "*.txt" それとも私が完全に間違った道を行っているのでしょうか?

Admin

日付別ファイルの再同期
bash
find
rsync

日付別ファイルの再同期

次のファイル構造があります。 ...folders/to/copy ...folders/to/mirror 私はやってきた: rsync --ignore-existing -raz --progress $source $destination これは、両方のフォルダツリーのすべてのコンテンツを最新の状態に保つのに役立ちます。ただし、24時間前に変更されたファイルに対してのみこれを実行できます。私は次のことを試しました: rsync -rav `find $source -mtime 1` $destination 問題は、これがファイルツリーを混乱させ、必要な方法で機能しないことです。もっと良い方法がありますか? 「フォルダ」とその中のすべての項目への相対パスを使用して、ある場所から別の場所にファイル構造をバックアップし、24時間経過したファイルだけを残したい(mtime)。

Admin

「検索」結果をAzure CLIにパイプ
find

「検索」結果をAzure CLIにパイプ

そのコマンドを使用してfind特定のファイルのリストを見つけ、各ファイルを別のコマンドにパイプしようとします。他のコマンドはAzure CLIコマンドラインです。次のコマンドを試してみました。 find /folder -name exclude1 -prune -o -name exclude2 -prune -o -name *.bicep -print -exec az bicep build {} しかし、これはエラーを引き起こします。find: missing argument to -exec 結果から配列を作成し、findforループでその配列を使用して各要素をaz bicep buildコマンドに渡すことはできますか? しかし...引数なしで、-execこのfindコマンドは私が探している結果セットを返します。

Admin

findコマンドのファイルを各ファイルが二重引用符内にある1行にグループ化する方法は? [コピー]
shell
find
freebsd
xargs

findコマンドのファイルを各ファイルが二重引用符内にある1行にグループ化する方法は? [コピー]

この質問にはすでに答えがあります。: 「find」コマンドの出力に「cat」コマンドを使用するには? (回答4個) 別のサブディレクトリにあるファイルをリンクする方法は? (回答3個) 閉鎖3年前。 これは、findを使用して見つかったファイルを繰り返すか操作するときによく遭遇する問題です。 次のファイルがあります。 $ find . -name "*ES 03-11*" ./01jan/ES 03-11.txt ./02feb/ES 03-11.txt ./03mar/ES 03-11.txt ./04apr/ES 03-11.txt ./05may/ES 03-11.txt 次のコマンドを実行したいと思います。 $ cat "./01jan/ES 03-11.txt" "./02feb/ES 03-11.txt" "./03mar/ES 03-11.txt" "./04apr/ES 03-11.txt" "./05may/ES 03-11.txt" | process これは find によって提供される各行を連結することを意味しますが、二重引用符または単引用符で囲まれています。 私はこれを試しました: find . -name "*ES 03-11*" | awk '{printf "\"%s\" ", $0}' | xargs cat | process これはうまくいくようですが、awkを使用しない、または覚えやすい操作や入力をせずに実行できる他の方法があるかどうか疑問に思います。 私はFreeBSDとBourne Shellを使用しています。

Admin