2017-05-29 98 views
0

我已经阅读了几批重命名的答案,并没有让他们为我的应用程序工作。我的正则表达式和循环技巧很弱。批处理文件移动,并重命名,使用目录名称的一部分

我需要移动许多具有相同名称的文件,比如说将non_unique_file.txt从具有半唯一名称的目录(例如“Directory#1 /”或“Directory#2 /”)移动到'non_unique_files /'目录,同时修改它们的名称,使其包含来自目录的唯一标识符。如果我移动只有一个文件,它看起来像:

cp Directory#1/non_unique_file.txt non_unique_files/#1.txt 

我试了几个圈,如:

for f in Directory* ; do cp $f/*txt non_unique_files/$f ; done 

知道,这是不正是我需要的,但我不知道如何解析原始目录名称并将其添加到新目录中的新文件名称。

任何帮助/资源,将不胜感激。

回答

0

想通了。不确定这是如何工作,但它的工作原理。

for f in Directory* ; do cp $f/non_unique_file.txt non_unique_files/$f"".txt"" ; done 

我的文件在我的non_unique_files /目录中被重命名为'Directoy#X.txt'。

相关问题