おそらくあなたのJDKが大文字か、OS X上で利用可能なfindのバージョンは、何も指定されていなければ-print設定されません。試してください: find . Ruby に標準で付属している find.rb が提供する Find.find メソッドを使用してファイルを再帰的に列挙する方法もあります。. や、ドットファイルは含まれます。 find.rb を使用する方法. Macではfindというコマンドを使います。ファイル名で検索するときは-nameオプションを付けます。ファイル名は「'」と「'」でくくって指定します。WindowsでもMacでも、ファイル名の指定には「?」「*」といったワイルドカードも使えます。 実行例 Windows find -nameはregexpを使用していません。Ubuntu 12.04のmanページの抜粋です -name pattern Base of file name (the path with the leading directories removed) matches shell pattern pattern.The metacharacters (`*', `? at the start of the base name (this is a change in findutils-4.2.2; see section STANDARDS CON‐ FORMANCE below). zip -r zipファイルパス 再帰的に圧縮する対象フォルダパス: フォルダの中身のファイルも再帰的に圧縮する。「-r」オプションがない場合、ディレクトリを指定すると中のファイルは圧縮しない。 zip -e zipファイルパス 圧縮対象ファイルパス

ですが、「属性や構造を保持する」「再帰的にコピーする」の意味がよくわかりません。 また、コピーしたいディレクトリから下のディレクトリやファイルまで含めてそのままコピーするにはどちらが適しているのでしょうか? Find.find メソッドの結果には、親ディレクトリ (..) は含まれませんが、自分自身のディレクトリ (.) grepは-Rオプションつけないと再帰してくれなくて、findは何も指定しなくても再帰してくれる。 findのこの仕様、これはこれで便利なんだけど、ただ検索するだけじゃなくて、検索結果をxargsに渡して削除とか変換処理とかしたい場合は、深いディレクトリまで掘ってほしくないときがある。 用語「再帰処理」の説明です。正確ではないけど何となく分かる、it用語の意味を「ざっくりと」理解するためのit用語辞典です。専門外の方でも理解しやすいように、初心者が分かりやすい表現を使うように心がけています。 -iname "*.jdk" -print ( -inameは-nameと似ていますが、大文字と小文字を区別しない一致を行います; -printは結果を表示するfindに-printしfind ) ', and `[]') match a `.'

chmodで再帰的にファイルのパーミッションを変更するには、以下のようにします。 find ./ -type f -print | xargs chmod 644. 特定のファイルのみ、の場合はこのようになります。 find ./ -name *.rhtml -type f -print | xargs chmod 644 (ほかにも色々方法はあるようです) です。以前は find やらなんやらと xattr を組み合わせないとできなかったようですが、少なくとも El Capitan の xattr には -r オプションがあります。 これは指定されたディレクトリ以下を再帰的に辿って適用するオプションです。 これと find .