bash - 创建一个目录并将文件移动到与模式匹配的目录中
问题描述
我可以使用以下行对文件进行模式匹配并将它们移动到目录中。但我需要先制作目录。
(必须先创建 testdir 目录)
find . -type f -name '*-bak*' -exec mv '{}' ./testdir ';'
我现在要做的是让代码行也创建目录,并使用同一行代码将与该模式匹配的文件移动到该目录中。
解决方案
mkdir -p testdir && find . -type f -name '*-bak*' -exec mv {} testdir/ ';'
但要小心,如果您在不同的文件夹中获得两个具有相同名称的备份,您将只剩下一个副本,而所有其他副本都将被覆盖!
编辑:mv -i
在这种情况下使用得到提示而不是覆盖文件
推荐阅读
- c# - Xamarin android API 自动更改
- cakephp - CakePhP 表实体不正确
- javascript - 本地获取请求中的节点请求外部 API
- javascript - setAngle 不是一个函数fabricjs
- gitlab - Terraform - 使用 Gitlab 提供程序来保存秘密
- android - Android 应用语言本地化
- docker - 将 selinux 状态设置为 `Permissive`,仍然无法运行 docker
- mongodb - MEAN 堆栈 - 用另一个集合中的相应名称替换文档字段数组 id
- c - 程序找不到显式链接的 DLL
- ios - 在 ARKit 的 GL 着色器中使用纹理