リストにないディレクトリを探す必要があります。
次のディレクトリがあるとしましょう。
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)
/
これらのディレクトリがルート()ディレクトリにあるとします。それ以外の場合、/
文字は省略されます。