誰かが何find -path
を意味するのかを説明できますか?
マニュアルページを見ようとしましたが、なぜ私が書いたスクリプトのように動作するのか理解できません。
find ! -path . -type d -printf '%T@ %P\n' | sort -nr | head -n3 | awk '{print $2}'
これにより、現在のフォルダで最後に変更された3つのディレクトリが返されます。ただし、削除すると、-path .
フォルダーではなくファイルのみが返されます。無視されるのと同じです-type d
。
答え1
削除して最初の部分を-path .
保持しても無視されず、条件は「ディレクトリではありません」を意味します。だからあなたはあなたが要求したものを取得します。!
-type d
! -type d
答え2
試行中のコマンドは、引数を含む現在のフォルダを無視します! -path .
。-path .
非演算子のみが削除されたため、演算子は!
後続の引数に適用されます-type d
。
その結果、find
検索パスのすべてのディレクトリは無視されます。