2014-02-07 76 views
0

我有一個輸入文件的目錄,其中每個都運行cat並管道到一個ruby程序文件的STDIN,如下所示:Unix - 將目錄中的每個文件一次一個地管道化爲一個程序

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

我有一種感覺,這很簡單,但我怎樣才能將這些文件的貓一次一個地放入其中?現在我手動輸入每一個,這似乎是一個非常愚蠢的事情。

回答

2

你也可以遍歷的文件。請注意,在這種情況下,重定向可能比cat更直接,並且在這種情況下應該總是引用參數,以防文件中出現空格。

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

東西作爲

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

簡單應該在shell腳本

1

find /mypath -type f -exec ruby laser-made.rb < {} \;還將努力

+0

除了它會創建一個過程,其他的答案不會 – hd1

相關問題