コマンドラインパラメータパスの検索

コマンドラインパラメータパスの検索

誰かが何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検索パスのすべてのディレクトリは無視されます。

関連情報