customize the uptime command

Giorgos Keramidas keramida at ceid.upatras.gr
Sun May 4 19:00:10 PDT 2003


On 2003-05-04 18:11, Peter Leftwich <Hostmaster at Video2Video.Com> wrote:
> $ uptime
>  6:06PM  up 15 days, 21:12, 1 user, load averages: 0.06, 0.13, 0.08
>
> I wonder if it is possible to rewrite the uptime command, similar to the
> way you can customize the output of "date" using +%H%M etc...
>
> The reason I ask is that I'd prefer a flag to standardize the format to
> y:m:d:H:M;S or years, months, days, hours, minutes, seconds.  Or you could
> have some kind of "--only H" flag which would display the uptime ONLY has
> hours.  In my case, the example above, it would be: 381 hours
>
> Is there a fast script out there can reformat the uptime perhaps??

You can always do fancy reformatting of text with awk:

    uptime | awk '{
        if (match($0, "days,")) {
            today = $5;
            sub(":.*$", "", today);
            hours = 24 * $3 + today;
            sub("[0-9]* days,[^,]*,", hours" hours,");
        } else {
            today=$3;
            sub(":.*$", "", today);
            sub("up [^,]*,", "up "today" hours,");
        }
        print;
    }'

The above should work for both types of uptime output.

- Giorgos



More information about the freebsd-questions mailing list