'ls -l' в отличном стиле - PullRequest
4 голосов
/ 21 июня 2010

Мне нужно отобразить имя, размер, дату файлов, используя ls -l команду unix в groovy.

Как мы можем запустить ls -l в groovy для просмотра информации?

спасибо ввперед.

Ответы [ 3 ]

7 голосов
/ 21 июня 2010
"ls -l".execute().text

Должен сделать это

5 голосов
/ 21 июня 2010
def list = 'ls -l'.execute().text
list.eachLine{
    // code goes here
}
4 голосов
/ 07 июля 2010

Если вы не возражаете ограничивать себя свойствами файла, о которых знает Java, вы можете сделать это более переносимым, гибким, безопасным и эффективным способом, используя методы класса File.

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

Проверьте GroovyDocs и JavaDocs for File, чтобы увидеть все способы фильтрации файлов и все свойства, к которым у вас есть доступ.

Конечно, в этом блоке может быть любой код, заменяющий println.

В мире Perl мы узнали, что, как правило, следует избегать вызова команд оболочки, если в качестве опции используется нативный Perl. Это еще более верно в Groovy, я бы сказал, Конечно, у вас может быть специальное требование, в котором вам нужен точный вывод, который выдаст ls -l.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...