我有几个文件夹,比如/music/1/a.mp3和/music/2/b.mp3
所有文件名本身都保证不同。
有没有办法,可能使用终端,将这些文件复制到/musicTemp/排除文件夹?
换句话说,上面两个例子的结果应该是:
/music/1/a.mp3
/music/2/b.mp3
Run Code Online (Sandbox Code Playgroud)
进入:
/musicTemp/a.mp3
/musicTemp/b.mp3
Run Code Online (Sandbox Code Playgroud)
该find命令将查找指定模式 (-name) 的所有文件,在本例中为特定文件类型:*.mp3. -exec使 find 后面的所有参数都作为命令的参数,直到;遇到由 of 组成的参数(最后,使用字面转义以防止 shell 扩展)。在这种情况下,我们希望执行的命令是cp对匹配模式 ( {}) 的文件进行文件复制 ( )并将这些文件复制到/destination_dir. 这个命令应该可以解决问题:
find /music -name "*.mp3" -type file -exec cp {} /destination_dir \;
Run Code Online (Sandbox Code Playgroud)