首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在MacOS12.6.x上运行“查找-E -regex”时会出现此错误?

问为什么在MacOS12.6.x上运行“查找-E -regex”时会出现此错误?
EN

Unix & Linux用户
提问于 2023-03-31 21:54:54
回答 1查看 38关注 0票数 0

作为清理服务器上文件夹的脚本的一部分,我编写了一个查找regex (在MacOS12.6.x上),它将查找命名为"YYYY_MM_DD“的目录,然后将目录的名称更改为"newName”。

我可能会挂载服务器,然后从Mac运行脚本。我知道将其转移到Linux服务器并使用gnu find运行可能更有意义,但我只是在学习bash脚本,所以我必须在mac上进行测试,然后更改以在Linux上运行。

在将find命令合并到脚本中之前,我正在测试它。我想确保结果是正确的。

当我运行这个find命令时,即使命令工作正常,我还是会得到一个错误“没有这样的文件或目录”。

我一直在googling,并且不知道为什么当命令工作时我会收到这个错误。

这是find命令和结果:

代码语言:javascript
复制
$ find -E ./ -type d -regex '.*([0-9]+(_[0-9]+)+)已找到名为"2021_03_17“的目录,并按我的要求将其重命名为"newName”。为什么它显示“没有这样的文件或目录”? -execdir mv {} "newName" \;
find: .//folder1/folder2/2021_03_17: No such file or directory

已找到名为"2021_03_17“的目录,并按我的要求将其重命名为"newName”。

为什么它显示“没有这样的文件或目录”?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2023-04-01 16:42:53

逃跑的好命令:

代码语言:javascript
复制
find -E ./foo -type d -regex '.*([0-9]+(_[0-9]+)+)vagrant@freebsd:~ % tree foo
foo
└── bar
    └── 2023_02_23

3 directories, 0 files
vagrant@freebsd:~ % find -E ./foo -type d -regex '.*([0-9]+(_[0-9]+)+) -depth -execdir mv {} "newName" \;A1 -depth -execdir mv {} "newName" \;
vagrant@freebsd:~ % tree foo
foo
└── bar
    └── newName

3 directories, 0 files

-depth -execdir mv {} "newName" \;A1

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/741673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档