bashエラーを探す:-printf:未知のデフォルトまたは演算子

bashエラーを探す:-printf:未知のデフォルトまたは演算子

私のコンピュータ上のすべてのファイルを一覧表示しました。

FILES=$(find . -type f -name '*' -printf "%s/%f\n" | sort -n)

出力は次のようになります。

"size/file_name"
56872/file.txt
98566/test
1000254/foo

コンピュータでエラーが発生します。

find: -printf: unknown primary or operator

解決策はありますか?

ベストアンサー1

この-printfオプションは使用できません。POSIX find。これがGNUの特徴ですfind、例えばLinuxの場合。

使用している特定の実装は表示されません。おそらく拡張がないPOSIXでしょう。たとえば、そうではありません。FreeBSDまたはOSX

ない場合は、次のようないくつかの選択肢があります(埋め込まれたスペースなどを処理しませんが、ツールについてはほとんど想定していません)。

find . -type f -exec ls -ld {} \; | awk '{ gsub("^.*/","",$9); printf "%s/%s\n", $5, $9; }'

利用可能なツールに関する追加情報を使用すると、(通常)ソリューションを改善できます。

おすすめ記事