grep???

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

@anycolouryoulike:
Sì, hai ragione riguardo ls -R, in effetti i problemi sorgono quando arrivi a xargs grep, io al momento pensavo al primo grep...

Quando parlavo di regex intendevo solo che il . indica, per grep, un qualsiasi carattere, quindi va protetto, altrimenti ti prende parole che non ti interessano, così come devi specificare il match a fine riga/parola.
Ovvero, ad esempio:

Codice: Seleziona tutto

g@darkenergy:~$ unalias ls 
g@darkenergy:~$ mkdir prova
g@darkenergy:~$ cd prova
g@darkenergy:~/prova$ touch alfa beta gamma gamma.c cecilia acronimo r.c.d l.c.gz archibugio
g@darkenergy:~/prova$ ls
acronimo  alfa  archibugio  beta  cecilia  gamma  gamma.c  l.c.gz  r.c.d
g@darkenergy:~/prova$ ls | grep .c
acronimo
archibugio
cecilia
gamma.c
l.c.gz
r.c.d
g@darkenergy:~/prova$ ls | grep "\.c"
gamma.c
l.c.gz
r.c.d
g@darkenergy:~/prova$ ls | grep "\.c$"
gamma.c

Avatar utente
anycolouryoulike
Packager
Packager
Messaggi: 1158
Iscritto il: ven 10 ago 2007, 0:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Messaggio da anycolouryoulike »

Chiarissimo albatros :D
Un ultimo dubbio: grep c è uguale a grep .c?
Il punto lo considera come espressione regolare o no?
Perché la prima volta hai usato il quoting e la seconda no?

Avatar utente
gallows
Staff
Staff
Messaggi: 3471
Iscritto il: lun 20 set 2004, 0:00
Desktop: cwm
Distribuzione: OpenBSD
Località: ~/
Contatta:

Messaggio da gallows »

anycolouryoulike ha scritto:Chiarissimo albatros :D
Un ultimo dubbio: grep c è uguale a grep .c?
Il punto lo considera come espressione regolare o no?
Sì, è un'espressione regolare, quindi è diverso.
Es.:

Codice: Seleziona tutto

> echo "ciao" | grep .c
> echo "ciao" | grep c
ciao

Avatar utente
anycolouryoulike
Packager
Packager
Messaggi: 1158
Iscritto il: ven 10 ago 2007, 0:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Messaggio da anycolouryoulike »

Perfetto!
Grazie gallows! :D

Rispondi