我有大量文件夹,每个文件夹都包含多个子文件夹。像这样的东西
/mnt/data1/Folder1/subjfolder1, /mnt/data/Folder1/subjfolder2, /mnt/data/Folder1/subjfolder3
/mnt/data1/Folder2/subjfolder1, /mnt/data/Folder2/subjfolder2, /mnt/data/Folder2/subjfolder3
...
我喜欢复制 Folder1、Folder2 等,但只将每个文件夹中的 subjfolder2 复制到新位置,比如 data2。像这样的东西:
/mnt/data2/Folder1/subjfolder2
/mnt/data2/Folder2/subjfolder2
...
我不想复制 Folder1,2 等的全部内容,只复制每个文件夹中的 subjfolder2。我希望这很清楚。有人可以帮忙吗?
这种事情可以用简单的 shell globs 来完成:
cp -rt path/to/destination/ /mnt/data2/Folder?/subjfolder2
(匹配Folder
后跟任何单个字符的名称)
cp -rt path/to/destination/ /mnt/data2/Folder[0-9]/subjfolder2
(匹配Folder
后跟任何单个十进制数字的名称)
cp -rt path/to/destination/ /mnt/data2/Folder*/subjfolder2
(匹配Folder
后跟任何字符串的名称)。
或者,要匹配一组特定的文件夹,您可以使用大括号扩展
cp -rt path/to/destination/ /mnt/data2/Folder{1..17}/subjfolder2
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句