使用通配符查找和复制用法

使用通配符查找和复制用法

我想要将特定文件夹复制到另一个文件夹中,但我没有确切的名称,例如

/volume1/User/save/01/**-**** ?/GROUPES **-****/

**-****是一个每次都会变化但格式始终相同的数字参考(例如:75-1234)并且?是单词(Lion Tiger Shark)--> /75-1234 Lion Tiger/Shark)

我想复制/GROUPES **-****//volume1/User/01/

我最后一次尝试是

find /volume1/User/save/01/**-**** ?/ -iname "GROUPES **-*****" -exec cp -r /volume1/User/save/01/

而且它(显然?)不起作用。

答案1

正如@Jonas 指出的,您需要 a?来匹配一个字符,并需要 a*来匹配多个字符。空格字符需要用 转义\

将第一个模式**-**** ?更改为??-????\ *并转义空格字符后,命令应为:

cp -r /volume1/User/save/01/??-????\ */GROUPES\ ??-????/ /volume1/User/save/01/

答案2

复制执行以下操作:

cp SOURCE DESTINATION

我们想要将目录(意味着我们使用 -r 或递归)从组复制到另一个文件夹,因此我们这样做:(您必须使用 ? 作为通配符,而不是 *,因为星号代表多个字符,因此将允许带有星号的所有内容)

cp -r /full/path/to/GROUPES' '??-????/ /volume1/User/save/01/

您不需要为目标目录提供通配符,因为您要复制到 01 文件夹内,并且不会更改名称

相关内容