はい、find で複数のパターンを使用できます :
$ find -name 'master-*' \! -name 'master-2018*' -print0 -prune |
xargs -0 echo rm -fr
(echo を削除します 予行演習に満足している場合)
-maxdepth 1 を追加する必要があります find の直後の述語 現在のディレクトリからファイルを削除するだけの場合、つまり master-1991 しかし subdir/master-1991 はありません .
バッシュの場合:
shopt -s extglob
echo rm master-!(2018*)
echo を削除します
上記は、bash の拡張グロビング機能を使用して、master- で始まるファイルを照合します。 2018 を持っていない人 直後、その後に何かが続く (* ).