2011-09-01 20 views
0

我有一個解析器myParser它可以使用<如果我要解析文件a.txt中,我只需鍵入用程序測試目錄中的所有文件

$ myParser < a.txt 

我有一個目錄中很多這樣的文件本身包含許多其他目錄。例如

dir1 
|- dir12 
| |- a.txt 
| |- b.txt 
|- dir2 
| |- dir21 
| | |-dir31 
| | | |-c.txt 

我想運行一個命令,它可以分析所有這些* .txt文件給我。

當我使用{find -exec}進行遊戲時,有任何建議。

更新:做$ find ./ iname "*.txt" -exec ./Bin/myParser {} \;給出./Bin/myParser permission denied

+0

確實Bin/myParser具有可執行權限 –

+0

是的。當我使用單個文件時它工作正常。現在檢查它。所有文件的權限和所有權都沒問題。 – Dilawar

+0

但是您在第一個示例中使用了「myParser」,第二個示例中使用了「./Bin/myParser」。如果你自己的例子有效,我懷疑它們是一樣的,而且那個解決方案沒有。 – Evert

回答

1
find <root_dir_name> -name *.txt | xargs myParser 
+0

./Bin/BlueSpec:1://:Permission denied ./Bin/BlueSpec:3://:Permission denied ./Bin/BlueSpec:4://:Permission denied ./Bin/BlueSpec:5 ://:Permission denied ./Bin/BlueSpec:6://:Permission denied ./Bin/BlueSpec:7:Syntax error:word unexpected(expecting「)」)其中BlueSpec是myParser – Dilawar

+0

root dir表示在哪裏你所有的測試txt文件。如果你給/它會掃描完整的文件系統。 –

+0

我給./作爲。它正在返回相對路徑。沒事兒。 – Dilawar