我在想像我想要完成的事情可以使用内置的 shell 工具来完成,而不需要更复杂的脚本。
我想找到路径中的所有文件并将它们复制到目标基本路径,保留它们所在的相对路径。
例子:
说我跑了:
[~:] find /path/src \( -name "*.jpg" -o -name "*.gif" \)
然后返回:
/path/src/a.jpg
/path/src/dir1/b.jpg
/path/src/dir2/dir3/c.gif
我希望他们最终都在:
/path/dest/a.jpg
/path/dest/dir1/b.jpg
/path/dest/dir2/dir3/c.gif
我尝试了一个-exec cp {} /path/dest \;
标志,find
但这只是将所有内容都转储到 /path/dest。例如:
/path/dest/a.jpg
/path/dest/b.jpg
/path/dest/c.gif