Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi > Linux per newbies

Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
Lo chassis in Ceraluminium è il cuore di questo notebook in edizione 2026, un modello pensato per garantire produttività con le tipiche applicazioni di produttività personale e capace di offrire un'autonomia di funzionamento lontano dalla presa di corrente da riferimento. Potenza, facilità di trasporto e costruzione robusta tutto in un notebook compatto.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-10-2013, 13:09   #1
drman
Senior Member
 
L'Avatar di drman
 
Iscritto dal: May 2008
Messaggi: 502
espressioni regolari grep

salve a tutti,
ho trovato un esercizio sull'ottimo "introduzione a linux" di guidi-bertacca che non riesco proprio a risolvere...
supponendo di avere un file con il seguente contenuto
Codice:
prima linea
seconda linea 
terza linea
quarta linea
quinta linea
sesta linea
settima linea
ottava linea
nona linea
decima linea
undicesima linea
dodicesima linea
tredicesima linea
quattordicesima linea
fine
estrarre tramite grep tutte le righe che contengono la stringa "li" nelle prime nove posizioni.
grazie.
drman è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2013, 20:43   #2
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Non ti posto la soluzione secca (non sarebbe molto pedagogico...), ti elenco gli ingredienti della mia ricetta (spesso è possibile risolvere in vari modi):
  • ovviamente si deve specificare che si cerca la stringa li
  • c{m,n} che cerca le righe che contengono catene del carattere c lunghe da m ad n elementi
  • ^ inizio della riga, non può essere presente alcun carattere a sinistra, lì deve cominciare la riga (o il file)
  • . che significa che nella sua posizione può esserci qualsiasi carattere

Esempio di esecuzione, anche per aver conferma di aver capito bene il quesito:
Codice:
gimli@sertan ~ $ cat test.txt
prima linea
seconda linea 
terza linea
quarta linea
quinta linea
sesta linea
settima linea
ottava linea
nona linea
decima linea
undicesima linea
dodicesima linea
tredicesima linea
quattordicesima linea
li
123456li
1234567li
12345678li
123456789li
fine
gimli@sertan ~ $ grep -E "**SUSPENCE**" test.txt
prima linea
terza linea
quarta linea
quinta linea
sesta linea
ottava linea
nona linea
decima linea
li
123456li
1234567li
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2013, 12:06   #3
drman
Senior Member
 
L'Avatar di drman
 
Iscritto dal: May 2008
Messaggi: 502
Ottimo! I tuoi indizi mi hanno condotto per mano alla soluzione!!!
Codice:
grep -E "^.{0,7}li" test.txt
Fondamentale l'uso dell'opzione -E che consente l'utilizzo delle espressioni regolari extended. Infatti senza l'opzione il comando corretto sarebbe stato
Codice:
grep "^.\{0,7\}li" test.txt
Questo perchè senza l'opzione in oggetto è attiva la modalità basic nella quale l'uso delle parentesi tonde e graffe va fatto precedere dal carattere di escape backslash.
Come reputi il livello di difficoltà di questo esercizio? E' deprecabile essere stato tre giorni in meditazione senza riuscire a risolverlo?
drman è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2013, 19:58   #4
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Non è deprecabile, personalmente scordo la sintassi delle espressioni regolari di continuo... devo sempre invocare San Google per cucire insieme gli elementi che mi affiorano dalla memoria. Per non parlare delle comuni rogne con caratteri che necessitano escape di vario tipo, serie piuttosto folli di slash o effetti collaterali inattesi.

Questo esercizio mi sembra un caso che simula una situazione piuttosto realistica utilizzando vari elementi, evidenziando inoltre che egrep è utile.
Prova a continuare ad esercitarti e vinci la pigrizia cercando di utilizzare le espressioni quando sembrano un minimo utili (e hai il tempo per cercare una soluzione tranquillamente), dovresti tranquillamente diventare un po' più fluente, magari anche salvare la giornata!
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2013, 12:53   #5
drman
Senior Member
 
L'Avatar di drman
 
Iscritto dal: May 2008
Messaggi: 502
Quote:
Originariamente inviato da Gimli[2BV!2B] Guarda i messaggi
lol
drman è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
Intel presenta le GPU D-Series fino a 48...
Un attacco informatico può far ma...
AMD Helion, fino a 32.768 core Zen 6 per...
Chiamate con numeri falsi: AGCOM sanzion...
Il radiotelescopio cinese FAST ha scoper...
Certificati TLS più brevi, Let's ...
Milano si candida a sede Onu per la gove...
Dopo Groq e Hugging Face, NVIDIA guarda ...
Thomas Zurbuchen entra in Blue Origin ne...
Qualcomm porta servizi e sicurezza nel g...
Microsoft porta l'inferenza IA sul propr...
Blue Origin aiuterà la NASA nella...
Scoperto pianeta 'ribelle': orbita al co...
smart #2 debutta a Parigi: batteria da 3...
Un certificato in scadenza può la...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:41.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v