循环遍历多个文件夹以执行命令,然后写入另一个目录中的文件

时间:2015-10-15 19:33:03

标签: linux bash shell

我有许多包含拉链的目录。我试图循环每个目录提取拉链并将它们放在一个单独的目录中。在我的脚本中,它将进入第一个目录并执行命令,但它会卡住而不会移动到下一个目录。

for f in ./*; do 
    i=0
    [ -d $f ] && cd "$f" && for archive in somelog.log.*; do
        ((i++))
        unzip -p $archive > ../extracted/extractedlog_$i.log
    done
done

1 个答案:

答案 0 :(得分:3)

您需要撤消cd。在外部循环的末尾添加cd -cd "$OLDPWD"