删除UNIX中所有不包含特定名称的文件夹

我正在尝试弄清楚我在* nix中的老技能。

我想要实现的是删除每个不包含特定单词的文件夹。

这是清单

➜  myfolder: pwd
/user/myfolder

➜  myfolder: ll locale

drwxr-xr-x  3 user  staff  102 23 Oct 11:13 bn_BD
drwxr-xr-x  3 user  staff  102 23 Oct 11:13 bn_IN
drwxr-xr-x  3 user  staff  102 22 Oct 19:03 en_CA
drwxr-xr-x  8 user  staff  272  9 Dec 16:10 en_US
drwxr-xr-x  3 user  staff  102 22 Oct 19:03 es
drwxr-xr-x  3 user  staff  102 21 Oct 13:18 fr
drwxr-xr-x  3 user  staff  102 23 Oct 11:13 pt
drwxr-xr-x  3 user  staff  102 21 Oct 13:18 ru
drwxr-xr-x  3 user  staff  102 21 Oct 13:18 th_TH

现在我要删除除en_US之外的所有内容

我不知道命令中没有什么

rm -rf locale/[!somethinghere]

邪恶汤

借助GNU find(可能还有其他版本),您可以使用感叹号来反向搜索-这样,它将查找并删除当前目录中“ en_us”之外所有内容

find . ! -name 'en_US' -delete
##  If you only want to delete directories:
find . -type d ! -name 'en_US' -delete
##  If you *don't* want recursiveness:
find . -maxdepth 1 -type d ! -name 'en_US' -delete
##  If you want to avoid deleting dotfiles:
find . -maxdepth 1 -type d ! -name 'en_US' -a ! '.*' -delete

某些版本的find没有此-delete选项;相反,您可以使用以下之一:

find . -maxdepth 1 -type d ! -name 'en_US' -exec rm -r '{}' +
find . -maxdepth 1 -type d ! -name 'en_US' -a ! '.*' -exec rm -r '{}' +

另外,由于您在评论中提到您拥有zsh,

setopt extendedglob  ##  this may already be set in you .zshrc
rm ^*en_US*
##  If you only want to delete directories:
rm ^*en_US*(/)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

删除文件夹中除具有特定名称的文件夹外的所有文件夹

如何删除特定名称的所有文件夹而不删除其中的目录?

如何使用Powershell删除具有特定名称的所有文件夹

批处理命令删除所有具有特定名称的子文件夹

删除ntfs驱动器上所有具有特定名称的文件夹

删除文件夹中所有文件,但名称中包含以下内容的文件除外

如何删除具有特定名称的文件夹

Linux:如何删除文件夹中除具有特定名称的文件以外的所有文件?

遍历文件夹内的特定子文件夹并删除包含特定名称的文件-AIX

批处理命令删除所有具有特殊字符的特定名称的子文件夹

从某个目录中删除具有特定名称的文件和文件夹

gitignore规则始终包含具有特定名称的文件夹

如何删除所有子文件夹中所有小于特定大小的文件?

如何使用FileSystemWatcher监视父目录下特定名称的所有文件夹?

Powershell删除具有特定名称的子文件夹

如何在Python中删除具有特定名称的文件夹?

如何创建包含文件夹中所有文件名称的数组?

重命名文件夹中具有特定名称的所有具有特定格式的文件

如何删除文件夹中所有具有特定扩展名的文件?

如何打印文件夹中所有文件的名称

VBA 更改文件夹中所有文件的名称

如何删除所有具有特定名称的文件?

如何从/删除具有特定名称的所有文件?

在子文件夹中找到具有特定名称的空文件夹?

命令行复制特定名称模式的所有网络文件夹文件,包括子文件夹中的那些文件

通过排除具有特定名称的所有子文件夹将文件夹复制到另一个位置

包含特定名称的文件夹中的Power Shell显示文件

如何删除临时文件夹中的特定名称模式目录

在每个子文件夹中创建一个带有特定名称的空文件的文件夹