在unix下批量复制/移动文件?

在unix下批量复制/移动文件?

有没有办法在unix中批量复制/移动文件?我认为这可能是一个选择,cp/mv但我找不到任何方法来做到这一点。

答案1

cpmv分别是复制文件和移动文件的好工具。与 shell 结构(如for file in *; do ...; done)或相结合find,它们变得更加强大。

如果我正确理解你的目的,你已经提取了如下文件:

somedir/file.png
somedir/file.txt

并希望将所有文件移动到父目录中,使其看起来像:

file.png
file.txt

使用 shell 通配符,假设您位于目录 中somedir,您可以使用:

mv * ../

*是一个扩展到当前目录中所有文件的全局模式。如果您有隐藏文件(.文件名中带有前导的文件和目录),请使用shopt -s dotglobin bash)。

find之前已经提到过。如果您有一个文件树,例如:

somedir/000.txt
somedir/a/001.txt
somedir/a/004.txt
somedir/b/003.txt
somedir/b/002.txt
somedir/whatever/somethingunique.txt

并且想要移动一个目录中的所有文件(例如,seconddir),请使用:

find -exec mv {} seconddir/ \;

这假设所有文件名都是唯一的,否则文件将被覆盖。

答案2

你可能会很好地逃脱改名因为它更适合批处理。

相关内容