【发布时间】:2013-03-06 17:28:57
【问题描述】:
我使用 linux,bash。
我有一个目录,里面有 100 个文件夹,每个文件夹的名称都不一样。
在这 100 个文件夹中,每个文件夹中都有一个名为 first.bars 的文件(所以我有 100 个名为 first.bars 的文件)。尽管都命名为 first.bars,但文件实际上略有不同。
我想将所有这些文件移动到一个新文件夹并重命名/编号这些文件,以便我知道哪个文件来自哪个文件夹。所以第一个 first.bars 文件必须重命名为 001.bars,第二个文件必须重命名为 002.bars.. 等等。
我尝试了以下方法:
ls -d * >> /home/directorywiththe100folders/list.txt
cat list.txt | while read line;
do cd $line;
mv first.bars /home/newfolder
这不起作用,因为我不能在一个文件夹中拥有 100 个名称相同的文件。所以我只需要知道如何重命名它们。重命名必须连接到 cat list.txt,因为第一行是包含第一个被移动和重命名的文件的文件夹。该文件将被称为 001.bars。
【问题讨论】:
标签: linux bash while-loop move cat