前端之家收集整理的这篇文章主要介绍了
Unix shell文件复制压平文件夹结构,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在UNIX bash shell(特别是Mac OS X Leopard)上,最简单的
方法是将具有特定扩展名的每个
文件从
文件夹层次结构(
包括子目录)复制到同一目标
文件夹(没有子
文件夹)?
显然,在源层次结构中存在重复的问题。我不介意如果他们被覆盖。
示例:我需要复制以下层次结构中的每个.txt文件
/foo/a.txt
/foo/x.jpg
/foo/bar/a.txt
/foo/bar/c.jpg
/foo/bar/b.txt
到一个名为“dest”的文件夹,并获取:
/dest/a.txt
/dest/b.txt
在bash:
find /foo -iname '*.txt' -exec cp \{\} /dest/ \;
find将找到路径/ foo下匹配通配符* .txt的所有文件,不区分大小写(这就是-iname的意思)。对于每个文件,find将执行cp {} / dest /,用找到的文件代替{}。