コマンド「検索」出力エラーメッセージ

コマンド「検索」出力エラーメッセージ

「find」コマンドを実行したときに表示されるエラーメッセージについて問い合わせたいと思います。次の段落では、私が達成したいものが何であるかを説明します。

親フォルダがあります。このフォルダには多くのサブフォルダがあります。各サブフォルダには複数のサブフォルダがあります。特定の数のファイルを含むサブフォルダを一覧表示したいと思います。次のように for ループを実行します。

#!/bin/bash
in=PATH_TO_THE_PARENT_FOLDER

for i in ${in}/*; do
find ${i} -maxdepth 1 -type d -print0 | xargs -0 -I {} sh -c 'echo -e $(find {} | wc -l) {}' | sort -n | grep -w 69 | awk '{print $2}' #69 represent the total number of files within a folder
done

このコードは次のエラーメッセージを出力しますsh: MPR_Range: No such file or directory。その意味の説明を検索してみましたが、sh: MPR_Range答えが見つかりませんでした。

答え1

というファイルがあるとしますfoo&barxargsそれでは、コマンドを実行しましょう。

sh -c 'echo -e $(find foo&bar | wc -l) foo&bar' 

バックグラウンドで実行されecho、 と同様です。findbarfoo;bar$(bar)

{}inargments を使用しないで、sh -cファイル名を別の引数として指定してください。

... |xargs sh -c 'echo -e $(find "$1" | wc -l) "$1"' sh {} | ...

find -execまた、代わりに次のものを使用できますxargs

find -type d -exec sh -c 'echo ...' \; 

とにかく、特定の数の行を見つけるためにsortこれが必要かどうかはわかりません。grep

関連情報