Unix - 将目录中的每个文件一次一个地管理到一个程序

时间:2014-02-07 18:59:18

标签: bash unix

我有一个输入文件目录,每个目录都在运行cat on和管道到ruby程序文件的STDIN,如下所示:

cat Laser-Maze-with-Mirrors_testcases/input005.txt | ruby laser-maze.rb

我觉得这很简单,但我如何一次一个地管理这些文件的猫?现在我手动输入每一个,这似乎是一个非常愚蠢的事情。

3 个答案:

答案 0 :(得分:2)

您可以遍历文件。请注意,在这种情况下,重定向可能比cat更直接,并且您应该始终在这样的情况下引用参数,以防文件中出现空格。

for f in Laser-Maze-with-Mirrors_testcases/*.txt; do
    ruby laser-maze.rb < "$f"
done

答案 1 :(得分:1)

这样简单
for file in /mypath/*
do
    cat $file | ruby laser-maze.rb
done

应该在shell脚本中工作

答案 2 :(得分:1)

find /mypath -type f -exec ruby laser-made.rb < {} \;也可以使用