[Risolto] richiamare una ricerca nei file

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: [Risolto] richiamare una ricerca nei file

Messaggio da rai »

Bene, siamo usciti da questa situazione da X Files ;). Però
boylin ha scritto:

Codice: Seleziona tutto

# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "$(dircolors)"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'

qui ci va la funzione postata prima
nello strano .bashrc che hai postato tutte le linee sono vuote o commentate per cui non potrebbero interferire con la successiva funzione: quindi ti rimane da capire cosa non va nel tuo file reale.
BTW ho un paio di domande e di osservazioni riguardo all'uso di grep:
· l'opzione -H qui è inutile perché è il comportamento predefinito di grep quando la ricerca è fatta su più di un file
· la tua funzione assume che l'utente non commetta mai errori nella riga di comando (parametri in meno o in più per es.)
le domande:
· ci sono dei file binari nelle directory in cui cercare?
· non ci sono sotto-cartelle nelle directory in cui cercare?
Avatar utente
boylin
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 257
Iscrizione: domenica 6 novembre 2016, 18:24
Desktop: xfce
Distribuzione: Xubuntu 23.10
Sesso: Maschile

Re: [Risolto] richiamare una ricerca nei file

Messaggio da boylin »

è un'installazione pulita, il file .bashrc l'ho trovato così e ci scrivo io per la prima volta.

H per avere nel risultato anche il nome del file dove ha trovato il valore
Nelle directory non ci sono file binari nè sotto-cartelle
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: [Risolto] richiamare una ricerca nei file

Messaggio da rai »

Premessa: i miei sono solo suggerimenti, ignorali completamente se credi, tanto più che hai messo il Risolto alla discussione. Confrontarmi con chi ha più esperienza mi ha fatto capire quanto è utile l'attenzione al dettaglio: avere la migliore efficienza e pulizia di scrittura forse cambia poco in un comando che deve elaborare solo un centinaio di file ma si rivela una mentalità _molto_ utile quando ci si deve confrontare con programmi o input più grossi.
Detto ciò, non so che grep tu stia usando, di seguito io faccio riferimento a questo grep qui:

Codice: Seleziona tutto

$ grep --version
grep (GNU grep) 3.7
boylin ha scritto:è un'installazione pulita, il file .bashrc l'ho trovato così e ci scrivo io per la prima volta.
non so quale distro tu stia usando, su ubuntu 20.04 e 22.04 il .bashrc è molto diverso da quello che hai postato, e messa in quei file la tua funzione viene eseguita.


boylin ha scritto:H per avere nel risultato anche il nome del file dove ha trovato il valore
Come ho già scritto, l'effetto della opzione -H è già il comportamento predefinito di grep quando deve elaborare più di un file.
man grep ha scritto:-H, --with-filename
Print the file name for each match. This is the default when there is more than one file to
search. This is a GNU extension.
Prova a togliere il -H e non vedrai nessuna differenza nell'output


boylin ha scritto:Nelle directory non ci sono file binari
Se è così l'opzione -I non è necessaria
man grep ha scritto:-I Process a binary file as if it did not contain matching data; this is equivalent to the
--binary-files=without-match option.
Avatar utente
boylin
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 257
Iscrizione: domenica 6 novembre 2016, 18:24
Desktop: xfce
Distribuzione: Xubuntu 23.10
Sesso: Maschile

Re: [Risolto] richiamare una ricerca nei file

Messaggio da boylin »

uso: grep (GNU grep) 3.8
su una Debian Testing nuova, ora tolgo anche I
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 26 ospiti