引数リストにないディレクトリを探す

引数リストにないディレクトリを探す

リストにないディレクトリを探す必要があります。

次のディレクトリがあるとしましょう。

opt
cmd
XX

上記の3つを除くすべてのディレクトリをインポートする必要があります。

答え1

そしてfind

find /path -maxdepth 1 -not \( -name "opt" -or -name "cmd" -or -name "XX" \)
  • -maxdepth 1サブディレクトリに行くことはありません。
  • -not \( ... \)角かっこ内のすべての内容を無効にします。
    • -name ... -or -name ...: 除外する名前は次のようになります。-or

別のアプローチはfindを使用することです-regex。ここで除外されたすべてのディレクトリをパターンに配置できます。

find /path -maxdepth 1 -not -regex ".*/opt\|.*/cmd\|.*/XX"

答え2

使用しているシェルに応じて、次のことを試すことができますbash

shopt -s extglob
ls -ld /!(opt|mnt|XX)

/これらのディレクトリがルート()ディレクトリにあるとします。それ以外の場合、/文字は省略されます。

関連情報