我真的不确定如何表达这个,也许这就是为什么我找不到任何东西,但我想在命令中重用通配符枚举的值.这可能吗?
场景:
$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