2010-06-21 72 views
2

我需要在groovy中使用ls -l unix命令來顯示文件的名稱,大小和日期。'ls -l'in groovy

如何在groovy中運行ls -l查看信息?

在此先感謝。

回答

5
"ls -l".execute().text 

應該這樣做

4
def list = 'ls -l'.execute().text 
list.eachLine{ 
    // code goes here 
} 
4

如果你不介意自己限制到Java的知道該文件的屬性,你可以在一個更輕便,靈活,安全和高效的方式使用做到這一點File類的方法。

File dir = new File(".") 
dir.eachFile { f -> 
    println "${f} ${f.size()} ${new Date(f.lastModified())}" 
} 

同時檢查GroovyDocs和文件,看看你可以過濾文件的所有方法的JavaDoc中,所有可以訪問的屬性。

當然,你可以在該塊中有任何代碼,取代println。

在Perl世界中,我們瞭解到當本機Perl是一個選項時,通常要避免調用shell命令。我認爲Groovy更是如此。當然,你可能有一個特殊的要求,你需要確切的輸出'ls -l'會產生。

+0

是的我的要求是產生精確的輸出。但我想考慮你的評論。我的要求現在可能會改變。感謝您的評論 – Srinath 2010-07-08 06:24:38

+0

對於任何類型的專業付費開發,此解決方案應該受到青睞,因爲它獨立於平臺,更快,更可靠。對於你自己的腳本,我會說這個問題還是比較容易處理的,但有時腳本編寫時你只是想完成一些東西。 – 2017-02-22 21:38:34