練習として、サブディレクトリのパッドを含む、指定された拡張子(.txtなど)を持つすべてのパッドをサイズでソートするスクリプトを完成させる必要があります。
For example;
./ex1.sh einstein txt
einstein/copyright.txt
einstein/do-how.txt
einstein/etext9/bil11.txt
einstein/etext9/2ws271.txt
einstein/etext9/liber11.txt
einstein/etext0/bib0010h/Readme.txt
einstein/etext0/kknta10.txt
du またはその他の高度なコマンドは使用できません。ある時点では find を使用する必要がありますが、次のことを試しました。
find -depth - type f -name "*.$extension" | sort ....
しかし、サイズでソートする方法がわからないので、これはうまくいきません。私が得た結果は名前でソートされます。
ls -lhSに似ていますが、サブディレクトリを含む出力を探しています。
ベストアンサー1
AFAIKで実行できる唯一の注文は、インクルードfind
ディレクトリ(オプション)の前にコンテンツを表示することです-depth
。サイズで並べ替えるには、別のものを使用する必要があります。
GNUルックアップがある場合は、以下を試してください。
find . -type f -iname "*.$extension" -printf "%s %p\n" | sort -n | sed 's/^[0-9]* //'
-printf "%s %p\n"
サイズとファイルパスを印刷して数字でソートし、ストリップサイズを使用しますsed
。