Porównywanie dat i wybranie jednej - bash

Potrzebujesz pomocy z C, C++, perl, python, itp.
R_Przemek
Posty: 54
Rejestracja: 12 lipca 2008, 16:02

Porównywanie dat i wybranie jednej - bash

Post autor: R_Przemek »

Witam.

Mam skrypt, który wypluwa mi jakieś tam daty w formacie ,,rrrr-mm-dd'', poniżej wynik jego działania:

Kod: Zaznacz cały

2009-03-19 2009-03-20 2009-03-21 2009-03-22 2009-03-23 2009-03-24 2009-03-25 2009-03-26 2009-03-27 2009-03-28 2009-03-29 2009-03-30
I teraz zakładając, że daty te pobieram ze zmiennej "$dat" chciałbym aby nie wyświetlały się one wszystkie, tylko jedna najstarsza.
Awatar użytkownika
Inquistor
Beginner
Posty: 122
Rejestracja: 25 września 2007, 20:48

Post autor: Inquistor »

man sort

Kod: Zaznacz cały

echo "2009-03-19 2009-03-20 2009-03-21 2009-03-22 2009-03-23 2009-03-24 2009-03-25 2009-03-26 2009-03-27 2009-03-28 2009-03-29 2009-03-30" | sort
Powinno załatwić sprawę
beel
Beginner
Posty: 340
Rejestracja: 28 marca 2007, 07:06

Post autor: beel »

Pomijając fakt, że podanego przez ciebie ciągu nie trzeba sortować... Możesz posłużyć się dodatkowym plikiem w którym będą zapisywane aktualnie interesujące cię daty, nazwałem go "linie".

Kod: Zaznacz cały

echo >linie
for i in $dat; do
        echo "$i" >>linie
done

ostDAT=`sort linie | tail -1`
Pod zmienną "ostDAT" masz najstarszą datę.
ODPOWIEDZ