Unixはいくつかのプルーンとタイプfsに圧倒されますか?

Unixはいくつかのプルーンとタイプfsに圧倒されますか?

私はこのルービックスキューブの仕事に数日を費やしました。ある問題を解決するために私がすることはすべて他の問題を破壊します。

POSIX対応MacOS X 10.5~10.14を使用しています。 Perlスクリプトのコンテキストでこれを呼び出します。

  system ("find blah blah > FILENAME");

これらすべてを同時に実行するには、Unixの「検索」が必要です。

  • ボリュームのルートから始まります。/Volumes/My HD
  • ファイルシステムを横断しないでください
  • ディレクトリやシンボリックリンクではないファイルのみを印刷します。
  • 降りないでください。多くの種類net dev system.開発者/github/twonky/)
  • 始点にはスペースを含めることができます。

今は次のことをしています。 (読みやすくするために複数行に分けました。実際には1行です。)

 Find -x '/Volumes/foo/' 
    -path '/Volumes/foo//dev/*' -prune
    -path '/Volumes/foo//net/*' -prune
    -path '/Volumes/foo//system/*' -prune
    -o -type f -print

二重の理由は/探すの出力には // が含まれます。始点が/で終わるからです。トリミングパスは一貫している必要があり、そうでなければ一致しません。始点が/で終わるのはなぜですか?そうでなければ、探す「My HD」など、名前にスペースが含まれている開始点では失敗します。それを試みた。

現在の検索では、リストの最初のディレクトリのみが除外されます。残りはちょうど無視します。現在OS X 10.5でテストされていますが、どこでも動作できることが必要です。

マルチトリミング+ファイルのみ+ファイル名の空白が遠すぎますか?私はあまりにも多くを要求しているのだろうか?探す

ベストアンサー1

2番目の一致を完了するには、「or」が必要です。両方に一致するパスはありません-path '/Volumes/foo//dev/*'-path '/Volumes/foo//net/*'

Find -x '/Volumes/foo/' 
    \( -path '/Volumes/foo//dev/*' 
    -o -path '/Volumes/foo//net/*' 
    -o -path '/Volumes/foo//system/*' \) -prune
-o -type f -print

おすすめ記事