gpt4 book ai didi

regex - BASH - 使用正则表达式查找和过滤查找特定文件夹

转载 作者:行者123 更新时间:2023-11-29 09:09:44 25 4
gpt4 key购买 nike

我有一个包含许多文件夹的文件夹,子文件夹 (/...) 具有以下结构:

_30_photos/combined
_30_photos/singles
_47_foo.bar
_47_foo.bar/combined
_47_foo.bar/singles
_50_foobar

使用命令 find 。 -type d -打印 | grep '_[0-9]*_' 将显示结构为 ** 的所有文件夹。但是我生成了一个只捕获 */combined 文件夹的正则表达式:_[0-9]*_[a-z.]+/combined 但是当我将其插入 find 命令时,不会打印任何内容。

下一步是为每个组合文件夹(在我的硬盘上的某处)创建一个文件夹,并将组合文件夹的内容复制到新文件夹。新文件夹名称应与子文件夹的父名称相同,例如_47_foo.bar。是否可以在搜索后使用 xargs 命令来实现?

最佳答案

你不需要 grep:

find . -type d -regex ".*_[0-9]*_.*/combined"

其余的:

find . -type d -regex "^\./.*_[0-9]*_.*/combined" | \
sed 's!\./\(.*\)/combined$!& /somewhere/\1!' | \
xargs -n2 cp -r

关于regex - BASH - 使用正则表达式查找和过滤查找特定文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12074326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com