[英]In BASH, how do you reference a directory name in a copy statement of files you recursively "find"
我把这个作为我目前的尝试: find . -name \\*DETAIL.pdf -type f -not -path "./test2" -exec cp -R {} ./test2 \\;
find . -name \\*DETAIL.pdf -type f -not -path "./test2" -exec cp -R {} ./test2 \\;
我正在努力通过引用每个文件的原始目录名称为所有这些文件创建新目录。
该示例提到使用cp
但问题/问题本身没有提到,所以我建议只使用find
和tar
。 此外,尽管如上述评论中所述,该问题有点含糊不清,但该示例似乎表明所需的输出目录是正在搜索的同一目录的子目录。 鉴于:
find . -path "./test2" -prune -o -type f -name '*DETAIL.pdf' -print0 | \
tar c --null --files-from=- | \
tar xC test2
这使用find
进行文件选择,生成一个(空分隔的)文件列表,然后tar
使用该列表复制文件,第二个tar
将根据需要创建相关目录并写入复制的文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.