1. ホーム
  2. シェル

[解決済み】この/現在の/ドットフォルダを "タイプd "の検索から除外する方法

2022-04-30 08:54:05

質問

find . -type d

は、ある開始点以下のすべてのディレクトリを見つけるために使うことができます。しかし,これはカレントディレクトリを返します ( . ) もあり、これは好ましくないかもしれません。どうすれば除外できるのでしょうか?

解決方法は?

POSIX 7ソリューション :

find . ! -path . -type d

この特殊なケース ( . ) よりも、ゴルフがうまくなります。 mindepth というソリューション(24文字対26文字)があります。 ! .

他のディレクトリを除外するには、これはゴルフがあまりうまくいかないので、DRYさのために変数が必要です。

D="long_name"
find "$D" ! -path "$D" -type d

という私の意思決定ツリー !-mindepth :

  • スクリプト?使用方法 ! ポータビリティのために
  • GNUの対話型セッション?
    • 除く . ? コインを投げる。
    • 除く long_name ? 使用方法 -mindepth .