2011-10-07 165 views
-1

我有一個包含XML文件和其他目錄的目錄。所有其他目錄都有XML文件和子目錄等Bash腳本橫切目錄

我需要編寫一個腳本(bash可能),爲每個目錄運行java XMLBeautifier directory,因爲我在bash腳本編寫的技能有點垃圾,我真的很感激一點幫幫我。

回答

4

如果你要得到的目錄,你可以使用:

$ find . -type d 

只是管給你的程序是這樣的:

$ find . -type d | xargs java XMLBeautifier 

另一種方法將讓所有的文件與find和管道,你的程序是這樣的:

$ find . -name "*.xml" | xargs java XMLBeautifier 

這將從當前目錄獲取所有.xml文件,並遞歸遍歷所有子目錄。然後把它們一個一個地交給xargsjava XMLBeautifier

+0

奇怪的是,並非所有的XML文件都有.xml擴展名,但所有的文件都是XML – Michael

+0

我剛剛發佈了這個。打我吧:( – Brendan

+1

@邁克爾,好吧,你可以改變爲你的任何作品,例如,如果目錄結構下的所有文件,然後只是'find。-name「*」' – murrekatt

1

查找是一個很棒的工具...但是,如果您不確定文件名,但對這些xml文件包含的內容有一個模糊的概念,那麼您可以使用grep。例如,如果您確定所有xml文件都包含「正確的xml文件」(您可以將此短語更改爲您認爲合適的),請在您的命令行中運行以下命令:

grep -IRw "correct xml file" /path/to/directory/* 

-I選項搜索文件,並返回時,匹配模式
-R選項達到您的目錄遞歸
-w確保模式中所給出的比賽整體上並沒有單獨一個字

文件名

希望是有幫助的!