はい、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
を持っていない人 直後、その後に何かが続く (*
).