Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

ancore

Il segno di inserimento (^) e il simbolo del dollaro ($) i caratteri sono trattati come ancoraggi nelle espressioni regolari. Ciò significa che la corrispondenza avviene solo se l'espressione regolare si trova all'inizio della riga (^) o alla fine della riga ($):


[io@linuxbox~]$ grep -h '^zip' dirlist*.txt

zip zipcloak zipgrep zipinfo zipnote zipsplit

[io@linuxbox~]$ grep -h 'zip$' dirlist*.txt

gunzip gzip funzip gpg-zip preunzip prezip unzip zip

[io@linuxbox~]$ grep -h '^zip$' dirlist*.txt

chiusura

[io@linuxbox~]$ grep -h '^zip' dirlist*.txt

zip zipcloak zipgrep zipinfo zipnote zipsplit

[io@linuxbox~]$ grep -h 'zip$' dirlist*.txt

gunzip gzip funzip gpg-zip preunzip prezip unzip zip

[io@linuxbox~]$ grep -h '^zip$' dirlist*.txt

chiusura


Immagine

Qui abbiamo cercato nell'elenco dei file la stringa "zip" che si trova all'inizio della riga, alla fine della riga e in una riga in cui si trova sia all'inizio che alla fine della riga (ovvero, da sola sulla riga). Si noti che l'espressione regolare '^$' (un inizio e una fine senza nulla in mezzo) troverà le righe vuote.


Un aiuto per le parole crociate

Anche con la nostra conoscenza limitata delle espressioni regolari, possiamo fare qualcosa di utile.

Mia moglie adora i cruciverba e a volte mi chiede aiuto con una domanda in particolare. Qualcosa tipo: "Qual è una parola di cinque lettere la cui terza lettera è 'j' e l'ultima lettera è 'r' che significa...?". Questo tipo di domanda mi ha fatto riflettere.

Sapevi che il tuo sistema Linux contiene un dizionario? È così. Dai un'occhiata al /usr/share/dict directory e potresti trovarne uno, o più. I file del dizionario che si trovano lì sono solo lunghi elenchi di parole, una per riga, disposte in ordine alfabetico. Sul mio sistema, il parole il file contiene poco più di 98,500



Immagine

parole. Per trovare possibili risposte alla domanda del cruciverba qui sopra, potremmo fare così:

[io@linuxbox~]$ grep -i '^..jr$' /usr/share/dict/words

Maggiore maggiore

Utilizzando questa espressione regolare, possiamo trovare tutte le parole nel nostro file di dizionario che sono lunghe cinque lettere e hanno una "j" nella terza posizione e una "r" nell'ultima posizione.


Il miglior sistema operativo cloud computing su OnWorks: