Portál AbcLinuxu, 9. května 2025 13:01
Mam dotaz, zda je mozne vyhledavat v textovych souborech jen na pevne dane pozici na radku?
Napr: mam dva radkove orientovane soubory s nekolika datumy a potrebuju hledat datum na pozici 9-17.
Soubor1:
20090101 20090103 20090102
Soubor2:
20090102 20090101 20090103
Potrebuji prohledat prostredni sloupec cili pozici 9-17. Kdyz budu hledat 20090103 vysledek bude soubor1. Kdyz budu hledat 20090101 vysledek bude soubor2. Kdyz budu hledat 20090102 vysledek bude ze zadny ze souboru nema na pozici 9-17 hledany retezec. Respektive je mozne vratit pozici nalezeneho vyskytu, kterou bych mohl porovnat?
Dekuji vsem
$ grep -e '^[0-9]* 20090103 [0-9]*' Soubor*
Soubor1:20090101 20090103 20090102
Alebo použi awk.
egrep '^.{9}20090103' soubor*
Muzes pouzit
cut -b 9-17
ale ve tvem pripade by mozna bylo lepsi vyuzit znalosti tvaru data a toho, ze jsou oddelene mezerou pro awk pripadne opet cut -f 1.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.