このコマンドは、作業ディレクトリでピリオドで始まるデフォルト名(隠し項目とも呼ばれる)を持つファイル/ディレクトリを非再帰的に印刷します。
find . -maxdepth 1 -name '.*'
非表示の項目を除くすべての項目を印刷するには、次のコマンドが機能すると予想されますが、何も印刷されません。
find . -maxdepth 1 -name '.*' -prune -o -print
次の隠し項目がないホームディレクトリでこのコマンドを実行しました。文書、ダウンロード印刷したいディレクトリ、その他のファイルなどです。
誰かが理由を説明できますか?
答え1
述語-prune
剪定目次- この場合、-name
起動ディレクトリが一致するため、.
ツリー全体が削除されます。
あなたが望むのはマッチを無効にするだけです-name
。
find . -maxdepth 1 ! -name '.*'
または
find . -maxdepth 1 -not -name '.*'