2012-03-20 25 views
3

Possible Duplicate:
Why does Mac's $find not have the option -printf?検索:-printf:不明なオプション

ない次のコマンドを使用して、間違っているが、誰がエラーを発見できるかを確認します。

find public_html -name '*.php' -printf '%h \n' | sort -u > dirlist.txt 

基本的に、私は私のpublic_htmlの中で見つけることattemtpingています* .php拡張子を持つすべてのディレクトリのディレクトリ名。そのファイルが見つかったディレクトリをプリントアウトします。これの出力はソートするパイプで連結され、重複したエントリは、-uフラグによって除去され、その結果が新しいファイルdirlist.txt

に保存されている。しかし、私は、実行時に取得していますがあるさ:

find: -printf: unknown option 

検索のではない私は、この間違った

を取得しています場所がわからおかげ

+1

エラーは、 'find'に' printf'オプションがありません - エラーメッセージの内容とまったく同じです。あなたのシステム上で 'man printf'をチェックして、何をすべきかを理解してください。 –

+2

Linux、OS X、BSD? – Adam

+0

こんにちはアダム、それは、Macの端末を使用しているOS Xのライオンです – user1020069

答えて

5

あなたのバージョンは-printfオプションが用意されていないようです。

私はそうのように、同じタスクだろう:

find public_html -type f -name '*.php' | xargs -n1 dirname | sort -u > dirlist.txt 
+0

私はOS Xの端末上のLinuxのマニュアルに従っていると思います! – user1020069

+0

ありがとうございます! stackoverflowコミュニティは素晴らしいです、うまくいけば、私も寄付を始めてスピードアップしています! – user1020069

+0

@ user1020069:あなたの名前を更新することをお勧めします。 – bukzor

1

をはい、あなたのバージョンが-printfオプションを持っていないようです - マックバリアントのdoesnt私が知っている - 他

あなたの選択肢があるがあるかもしれません

find public_html -name '*.php'|sed 's#\(.*\)/.*#\1#' |sort -u 
関連する問題