linux - 查找并重命名目录

标签 linux bash find exec

我正在尝试在 Linux 系统上查找并重命名目录。

文件夹名称类似于:thefoldername-23423-431321

thefoldername 是一致的,但数字每次都不同。

我试过这个:

find . -type d -name 'thefoldername*' -exec mv {} newfoldername \;

该命令实际起作用并重命名该目录。但是我在终端上收到一个错误,说没有这样的文件或目录。

我该如何解决?

最佳答案

这是一个无害的错误,您可以使用 -depth 选项消除它。

find . -depth -type d -name 'thefoldername*' -exec mv {} newfoldername \;

Find 的正常行为是处理目录,然后递归到它们中。由于您已重命名它,因此在尝试递归时会发现提示。 -depth 选项告诉 find 先递归,然后再处理目录。

关于linux - 查找并重命名目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13039410/

相关文章:

linux - 什么更快?通过 nfs-mount 或通过 scp 复制?

c++ - ubuntu Linux 中的数组复制实际上不起作用

bash 和 bc 带小数点的数学计算

linux - find 返回反转结果

mongodb - 如何查询 MongoDB 以测试项目是否存在?

linux - 在 Unix 中打印/替换 ALT 代码

linux - sed 用变量中的文本替换文本

linux - 使用 let 命令的多个间接变量 (GNU/Linux Bash)

python - 每当 ip 监视器写入 stdout 时调用脚本

MATLAB:我想根据向量中的阈值对矩阵进行阈值处理,而无需 for 循环。可能的?