基于目录中文件的多个循环

时间:2011-07-15 01:13:31

标签: shell loops terminal

我正在制作一个我需要制作循环的shell脚本。我有一个名为Files的目录。 Inside Files有两个文件夹。每个持有500个文件(folder1和folder2)。我需要从folder1和folder2获取文件名,因为我需要将folder1中的文件名与folder2连接起来。它需要为那里的每个文件执行此操作。所以250,000次。

任何人都知道如何编写该循环以便我可以从两个目录中获取所有名称并正确循环?

2 个答案:

答案 0 :(得分:1)

假设你正在使用bash,那就是这样的

cd Files
for f1 in folder1/*
do
    for f2 in folder2/*
    do
        concat_name="${f1#*/}-${f2#*/}"
    done
done

答案 1 :(得分:0)

这样的事情应该做,假设这两个子目录被称为dir1dir2,这个例子自然只有echoes个名字。

#!/bin/bash

for d1 in `ls Files/dir1`;
do
   for d2 in `ls Files/dir2`;
   do
      echo ${d1}_${d2}
   done
done