LINUX.ORG.RU

Парсинг строки с разной длинной


0

0

Здравствуйте! Я пишу легкую web-морду для сервера. Пишу на perl-е
У меня проблема в том, что команда ps -aux последную колонку выводит к каждому процессу опредененное количество параметров разделенных пробелом (неизвестное количество параметров). И мне нужно, чтобы на web-страничке вывод команды ps -aux выводился красиво в табличном виде.

cupsys    5438  0.0  0.6   4688  1568 ?        SNs  07:46   0:01 /usr/sbin/cupsd
zks      10124  1.1 21.8 187020 54952 ?        Sl   10:52   2:29 /usr/lib/firefo
zks      15297  0.0  1.1   9272  2892 pts/0    S+   14:22   0:00 rdesktop -umom
zks      15542  0.0  1.2   5696  3132 pts/1    Ss   14:32   0:00 bash
zks      15637  0.0  0.3   2560   992 pts/1    R+   14:35   0:00 ps -aux

Мне бы примерчик.

Ответ на: комментарий от Pi

Может быть и больше 10 столбцов получиться

zks
() автор топика
Ответ на: комментарий от zks

pi pi-laptop:~ [4]% cat test.pl
#!/usr/bin/env perl

my @out = `ps aux`;

foreach (@out){
    @tokens = split(/ +/, $_);
    $accum = "";
    for($i = 10; $i <= $#tokens ; $i++){
        $accum = $accum.$tokens[$i]." ";
    }
    print $accum;
}

Pi ★★★★★
()
Ответ на: комментарий от Pi

Тут бугу у тебя. Например этот же самый запущенный скрипт выведется как:

cupsys 5438 0.0 0.6 4688 1568 ? SNs 07:46:01 /usr/bin/perl ./test.pl
                                                         ^^^^

Anoxemian ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.