2017-04-06 5 views
0

私はディレクトリ(そしてそのすべてのサブディレクトリ)内のファイルを探してファイル+ファイルのサイズを表示するスクリプトを使用しています。`du`はfindでパイプを使用しているときにカレントディレクトリを取る

それはこのようなものです:$folder=folder_1$file=f1 問題は私の出力が

4 ./folder_1/f1 
8 ./folder_1 
13 . 

であるということである入力を備えた

find $folder -name $file | du --apparent-size 

find $folder -name $fileの出力のみ

folder_1/f1/file1 
folder_1/file1 
であるのに対し

なぜですか私の検索と一致するファイルがなくても、それは私の現在のディレクトリを取る?

+0

は自分に' -path ./abc -prune -o'を追加例えば、 'prune'スイッチを使用しますfindコマンド –

+0

私の場合、 'file1'は私の現在のディレクトリにありません。しかしもしそれがあればどうですか?私はcannodそのディレクトリを除外します。 – SnuKies

+0

ご迷惑をおかけしました。私は@vdavidが解決策を与えたと思う。 –

答えて

3

-execオプションを試してください:あなたは `abc`ディレクトリを除外したい場合は

find "$folder" -name "$file" -exec du --apparent-size '{}' \; 
関連する問題