加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

BASH通配符扩展

发布时间:2020-12-15 18:27:48 所属栏目:安全 来源:网络整理
导读:我真的不确定如何表达这个,也许这就是为什么我找不到任何东西,但我想在命令中重用通配符枚举的值.这可能吗? 场景: $ls / dir 1 2 3 / dir的内容是目录1,2和3. $cp / dir / * / file.文件的结果从/ dir / 1 / dir / 2和/ dir / 3复制到此处. 我想要做的是根
我真的不确定如何表达这个,也许这就是为什么我找不到任何东西,但我想在命令中重用通配符枚举的值.这可能吗?

场景:
$ls / dir
1 2 3 / dir的内容是目录1,2和3.

$cp / dir / * / file.文件的结果从/ dir / 1 / dir / 2和/ dir / 3复制到此处.

我想要做的是根据通配符扩展将文件复制到新的目标名称.

$cp / dir / * / file ??? – file将导致/ dir / * / file复制到1文件,2文件和3文件.我无法弄清楚的是???部分告诉BASH我想使用通配符扩展值.

在目标网络中使用通配符会出现cp错误:cp:target` * -file’不是目录. bash中还有其他东西可以在这里使用吗?

find命令有{}与-exec一起使用,这类似于我在上面寻找的内容.

ls /dir |while read dirname; do cp -v /dir/"$dirname"/file "$dirname"-file ; done

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读