复制包含在不同父文件夹中的许多文件(同名)
发布时间:2020-12-15 22:44:54 所属栏目:安全 来源:网络整理
导读:大家好我对unix命令行有疑问.我有很多这样的文件: /f/f1/file.txt/f/f2/file.txt/f/f3/file.txtand so on... 我想将所有file.txt与其父文件夹一起复制到另一个文件夹中,例如: /g/f1/file.txt/g/f2/file.txt/g/f3/file.txt 我无法复制文件夹f的所有内容,因
大家好我对unix命令行有疑问.我有很多这样的文件:
/f/f1/file.txt /f/f2/file.txt /f/f3/file.txt and so on... 我想将所有file.txt与其父文件夹一起复制到另一个文件夹中,例如: /g/f1/file.txt /g/f2/file.txt /g/f3/file.txt 我无法复制文件夹f的所有内容,因为在每个子文件夹f1,f2,…我有许多其他文件,我不想复制. 我怎么能用命令行执行此操作?最终使用bash脚本? 谢谢! 解决方法
cp手册显示了此选项 –
--parents use full source file name under DIRECTORY 因此,如果您使用bash v4,您可以执行以下操作 – [jaypal:~/Temp/f] tree . ├── f1 │?? ├── file.txt # copy this file only with parent directory f1 │?? ├── file1.txt │?? └── file2.txt └── f2 ├── file.txt # copy this file only with parent directory f2 ├── file1.txt └── file2.txt 2 directories,6 files [jaypal:~/Temp/f] mkdir ../g [jaypal:~/Temp/f] shopt -s globstar [jaypal:~/Temp/f] for file in ./**/file.txt; do cp --parents "$file" ../g ; done [jaypal:~/Temp/f] tree ../g ../g ├── f1 │?? └── file.txt └── f2 └── file.txt 2 directories,2 files (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |