我需要从多个目录中剥离文件,这些目录都具有相同的文件名a.txt。差异来自父文件夹,因此
示例1\a.txt示例2\a.txt ...
因此,我希望运行一个FIND命令,该命令将捕获a.txt,但不会在文件从一个文件夹移动到另一个文件夹时覆盖该文件。因此,输出将为
示例1_a.txt示例2_a.txt
所以从另一篇文章中我想要的FIND命令如下
find . -name "a.txt" -execdir echo cp -v {} /path/to/dest/ \;
所以我想以某种方式修改以将源文件夹附加到文件中。所以我的猜测是以某种方式操纵{}来完成这一操作。
先谢了
1条答案
按热度按时间zazmityj1#
一行可能是可行的,但您可以使用以下代码:
find
以及-print0
和while
来自https://mywiki.wooledge.org/BashFAQ/001find
的结果都以.“/"开头,所以我使用"${path#./}"
来删除该前缀。tr
将所有后续的“/”替换为下划线。这将处理子目录