linux – 将多个目录中的文件重命名为目录的名称

前端之家收集整理的这篇文章主要介绍了linux – 将多个目录中的文件重命名为目录的名称前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的东西:
v_1/file.txt
v_2/file.txt
v_3/file.txt
...

我想将这些文件重命名为这样:

v_1.txt
v_2.txt
v_3.txt
...

在同一目录.

我想我可以使用重命名,但我不知道如何使用它与文件夹和文件重命名在同一时间.

解决方法

结果可以通过bash for loop和mv来实现:
for subdir in *; do mv $subdir/file.txt $subdir.txt; done;

请注意,如果目录名称包含空格,上述解决方案将无法正常工作.相关link.

另一种基于注释的解决方案(适用于名称中具有空格的目录):

find . -type d -not -empty -exec echo mv \{\}/file.txt \{\}.txt \;

猜你在找的Linux相关文章