Mac | find: -printf: unknown primary or operator
find directory -type f -printf "%s\n" | awk '{ sum += $1; } END { print sum; }' | printf "%'d\n" $(cat)
と、やろうとしたら
find: -printf: unknown primary or operator
といわれる。
なにやら、Mac OSX の bash (zsh) のfind は少し違うらしい。
-printf がないらしい。
以下、参照という名のコピペ
問題あれば消しますコメントください。
Macでfindコマンドを使えるようにする
brew install findutils
インストール完了後、使用出来るコマンドは「gfind」となり間違えやすいのでエイリアスを作成する。
(.bash_profileへaliaseを記述する)
sudo vi ~/.bash_profile
vi インサートモードに切り替えて.bash_profileへ下記を追記
alias find=’gfind’
追記、保存が完了したらsourceコマンドで変更を反映
source ~/.bash_profile
Appendix
directory 以下のファイルの合計を取得(最後の| printf... は3桁区切り)
find directory -type f -printf "%s\n" | awk '{ sum += $1; } END { print sum; }' | printf "%'d\n" $(cat)
directory 以下のファイルの合計を取得(.DS_Store 除く)
find 'directory' -type f -not -name '.DS_Store' -printf "%s\n" | awk '{ sum += $1; } END { print sum; }' | printf "%'d\n" $(cat)
参照