Portál AbcLinuxu, 31. května 2024 20:39


Dotaz: Jak seřadit v souboru řádky s datem a časem

11.2.2019 16:50
Jak seřadit v souboru řádky s datem a časem
Přečteno: 377×
Odpovědět | Admin
Ahoj všem. Má takové soubory, které obsahují na každém řádku datum a čas. Jelikož je souborů celkem hodně chci se zeptat, jestli to nejde seřadit v tom souboru nějakým scriptem, který bych aplikoval na ten soubor požadovaný soubor. Potřeboval bych to od nejnovějšího po nejstarší. Děkuji předem za pomoc.
04_02_2019___13_02_39
04_02_2019___19_09_23
04_02_2019___19_15_59
04_02_2019___19_16_57
04_02_2019___19_18_16
04_02_2019___22_43_24
05_02_2019___00_04_54
05_02_2019___00_05_40
05_02_2019___00_06_20
05_02_2019___00_06_33
05_02_2019___00_29_55
05_02_2019___00_56_30
05_02_2019___00_57_39
05_02_2019___00_57_56
05_02_2019___00_58_07
05_02_2019___01_00_11
05_02_2019___01_00_27
05_02_2019___01_01_02
05_02_2019___01_03_48
05_02_2019___01_04_14
05_02_2019___01_04_23
05_02_2019___01_06_38
05_02_2019___01_07_03
05_02_2019___01_07_45
05_02_2019___01_15_02
05_02_2019___01_19_09
05_02_2019___01_19_17
05_02_2019___01_23_38
05_02_2019___01_24_05
05_02_2019___01_24_22
05_02_2019___01_27_56
05_02_2019___01_30_55
05_02_2019___01_31_28
05_02_2019___01_32_30
05_02_2019___01_34_17
05_02_2019___01_42_34
05_02_2019___10_06_03
05_02_2019___21_23_18
05_02_2019___21_49_10
06_02_2019___01_59_59
06_02_2019___11_03_59
06_02_2019___14_54_25
06_02_2019___15_36_23
07_02_2019___21_45_04
07_02_2019___21_48_52
08_02_2019___01_03_43
08_02_2019___02_34_13
08_02_2019___10_52_33
08_02_2019___14_56_56
08_02_2019___22_03_05
09_02_2019___01_39_43
09_02_2019___01_40_29
09_02_2019___01_47_07
09_02_2019___01_52_02
09_02_2019___12_19_56
09_02_2019___12_40_16
09_02_2019___21_03_56
11_02_2019___00_32_58
11_02_2019___11_03_26
11_02_2019___11_11_02
11_02_2019___13_07_48
29_01_2019___12_17_59
29_01_2019___17_29_05
29_01_2019___17_54_56
30_01_2019___00_40_07
31_01_2019___12_53_49
31_01_2019___13_07_12
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.2.2019 17:40 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Jak seřadit v souboru řádky s datem a časem
Odpovědět | | Sbalit | Link | Blokovat | Admin

Domácí úkoly je lépe vypracovat doma, ne na ABCLinuxu. :-(

sort -r -t_ -k3,3 -k2,2 -k1,1 -k6,8

Malinko ošklivé na tom je, že v trojitém posledním klíči se třídí podle celé hodnoty i s podtržítky, jak ukáže sort --debug. Dokud je vše správně formátované s nulami před jednocifernými čísly, nijak to nevadí:

29_01_2019___12_17_59
      ____
   __
__
             ________

Ještě doplním, že pokud jde o (nezaslouženě) populární sort -n, není vhodné jej kombinovat s vícenásobnými klíči, protože to vede k překvapivým výsledkům (které se zdají být nedefinované, ale ve skutečnosti se zkrátka první číslo v trojitém klíči interpretuje jako číslo a zbytek se zahodí).

# Tohle je špatně!
sort -r -t_ -k3,3 -k2,2 -k1,1 -k6,8 -n

Takhle potom vypadají klíče:

29_01_2019___12_17_59
      ____
   __
__
             __

Takže správně a ještě navíc numericky to bude takhle:

sort -r -t_ -k3,3 -k2,2 -k1,1 -k6,6 -k7,7 -k8,8 -n

A pomocí sort --debug je dobré si znova ověřit, že se opravdu třídí správně (rok, měsíc, den, hodina, minuta, sekunda):

29_01_2019___12_17_59
      ____
   __
__
             __
                __
                   __
Dalibor Smolík avatar 11.2.2019 18:04 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Jak seřadit v souboru řádky s datem a časem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud jich je hodně, nebylo by výhodnější na to použít sql databázi? Vyhledávání a řazení by bylo jednodušší.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
11.2.2019 18:15 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Jak seřadit v souboru řádky s datem a časem

Mně přijde, že v tomto případě jde o přednášku Unix 101, nikoliv o přednášku SQL 101. :-D

Pavel 'TIGER' Růžička avatar 11.2.2019 19:05 Pavel 'TIGER' Růžička | skóre: 53
Rozbalit Rozbalit vše Re: Jak seřadit v souboru řádky s datem a časem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdyby to náhodou nebyl domácí úkol. :-) Tak to lze s definovaným oddělovačem naimportovat do calcu a tam naklikat způsob řazení.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.