假设我在文件夹A中有一堆文件:
1.txt
2.txt
3.txt
...
文件夹B中的一堆文件,名称相同。
我想将文件夹B中的所有文件移动到文件夹A中,而不会丢失任何文件。这意味着需要重命名某些文件。例如,1cp.txt,2cp.txt,3cp.txt,...
据我了解,使用
cp folderB/*.txt folderA/
将覆盖文件夹A中的所有文件。然而,如果我使用-n标志,这意味着不会复制任何内容,因为-n可以防止覆盖。
有谁知道如何实现此复制和重命名程序,以便保留两个文件夹中的所有文件?
答案 0 :(得分:2)
您可以使用-b
(备份每个现有文件)。 --backup
接受控制行为的参数。
否则,您可以创建更多行,并在更详细的脚本中检查您的文件。
答案 1 :(得分:0)
首先,您可以重命名它。
$ rename -n 's/\d{5}(\d{3})\.JPG$/BeachPics_$1\.jpg/' *.JPG
00000123.JPG renamed as BeachPics_123.jpg
00000124.JPG renamed as BeachPics_124.jpg
00000125.JPG renamed as BeachPics_125.jpg
然后复制它。
cp folderB/*.txt folderA/