のような名前のすべてのファイルを削除したい: *~ or #*#
.
私が試してみました:
find "dir" -name '#*#' -or -name '*~' -delete
ただし、末尾が ~ のファイルのみが削除され、先頭と末尾が # のファイルは削除されません
どうやってやるの?
のような名前のすべてのファイルを削除したい: *~ or #*#
.
私が試してみました:
find "dir" -name '#*#' -or -name '*~' -delete
ただし、末尾が ~ のファイルのみが削除され、先頭と末尾が # のファイルは削除されません
どうやってやるの?
まず、-name
プライマリでパターンを指定する必要があります。##
は、正確##
にという名前のファイル*##
に一致しますが、 で終わるすべてのファイルに一致します##
。次に、 の 2 つの使用法をグループ化してname
、いずれか 1 つの一致が削除対象の一致としてカウントされるようにする必要があります。
find dir \( -name '*##' -or -name '*~' \) -delete
私は私の解決策を見つけます: find dir -name " ~" -delete -or -name "# #" -delete
-regex
スイッチで見つけるのはどうですか:
find -E . -regex "^./(~|##)$" -exec rm '{}' \;
-E
拡張された (最新の) 正規表現機能をサポートするために使用されています。