我有一个简单的Unix脚本,可以从多个目录中复制文件并将它们全部转储到一个目录中。因为我正在复制数千个文件,所以我遇到了一些文件具有相同名称的情况。
当发生这种情况而不是复制文件时,Unix会给我一个错误。我认为这是因为它无法覆盖现有文件。
cp: cannot create [pathname]: Permission denied
我想要做的是,让Unix自动创建第二个文件,可能通过在文件名上添加(2),如windows,而不会覆盖已存在的文件。我查看了CP选项列表,试图找到一个可以提供我需要的选项,但没有任何东西可以跳出来。有什么想法吗?
希望我遗漏了一些显而易见的东西,因为我之前从未编写过Unix脚本。
感谢。
修改
老实说,我不确定我正在使用哪个版本。如果你能告诉我如何检查我的意思。
代码摘录:
cp /vob/application/spottool/custom/*.kl ~/Sourcefiles
答案 0 :(得分:2)
你正在研究哪种Unix风格?在Linux上使用的GNU cp具有
cp --backup=numbered src1/* src2/* dest/