我有多个目录,其中包含一个文件,所有目录中的文件都是同名的。我需要根据文件的目录名重命名文件,以便在同一目录中收集它们。
/home/x/Desktop/s0.01-k5/x
/home/x/Desktop/s0.01-k7/x
/home/x/Desktop/s0.01-k10/x
我需要的是将所有的x重命名为它们的目录名。
最佳答案
进入/home/x/desktop。在那里
for i in */x;do mv -vf "$i" "${i%/x}/${i%/x}";done
这个命令做你想做的。如果你想确定会发生什么,你可以通过给“mv”一个“echo”来测试:
for i in */x;do echo mv -vf "$i" "${i%/x}/${i%/x}";done
关于linux - 通过目录名称重命名目录中的文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20630050/