linux - 如何在 bash 中识别文件夹然后决定是否移动它

标签 linux bash

我有一个 linux 问题,我需要一些帮助......

我有一个为我创建目录的应用程序。我想编写一个脚本来查看这些目录,检查目录是否以特定字符串开头,如果是,请不要管它,如果不是,则移动它...

所以,从逻辑的角度来看:

如果目录名以“ABC”开头则什么都不做
否则
将文件夹移动到共享驱动器

此脚本将放在 cron.hourly 文件夹中,因此它会自动为我运行。

非常感谢任何帮助!!!

最佳答案

find . -mindepth 1 -maxdepth 1 -type d ! -name 'ABC*' -exec mv -i {} ./dest \;

如果您可以为您不想移动的目录确定一个简单的模式,您甚至可以使用 bash 的 extglob 设置:

shopt -s extglob
mv !(ABC)*/ ./dest/

关于linux - 如何在 bash 中识别文件夹然后决定是否移动它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14235218/

相关文章:

linux - sed 仅最后一个匹配模式

linux - nginx 作为缓存代理不缓存任何东西

linux - 使用 Bash 按名称杀死进程?

bash,删除文件名中包含字母的文件

bash - 如何将 bash 变量重定向到可执行文件?

c - 为什么箭头键会弄乱标准输出?

c++ - gcc -MDD with -isystem<include_path> 不会为 "system"路径添加依赖项

c++ - 在 X11 中监听键盘事件而不消耗它们 - 键盘 Hook

linux - 将变量传递给 bash 中的函数(奇怪的输出?)

linux - nfs mount shell 脚本中需要一元运算符