script: verifica esistenza di una stringa nel file [risolto]

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
JordanDunk
Prode Principiante
Messaggi: 55
Iscrizione: lunedì 24 aprile 2017, 15:48
Desktop: Ubuntu
Distribuzione: Ubunto 16.10 | x86_64
Sesso: Maschile

script: verifica esistenza di una stringa nel file [risolto]

Messaggio da JordanDunk »

Buongiorno a tutti, ho un piccola problema che non riesco a risolvere. Sto scrivendo uno script che richiede di inserire una stringa, se questa stringa esiste nel file allora chiama una funzione, altrimenti segnala l'errore.
io ho provato cosi:
echo "Inserire nome del gruppo"
read nome_gruppo
if [ grep $nome_gruppo group=0 ]
then
funzione1 #viene chiamata la funzione
else
echo " è falso." #dovrebbe ritornare a richiedere il nome del gruppo
fi
Ultima modifica di JordanDunk il giovedì 27 aprile 2017, 16:45, modificato 2 volte in totale.
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: problema con file e bash

Messaggio da UbuNuovo »

Non ho capito quel 'group=0', se devi fare un'assegnazione la devi fare fare dopo "then" o "else".
Per la verifica non serve usare 'test'.
Se, in caso di errore, devi far inserire nuovamente il testo puoi mettere richiesta e verifica in una funzione, tipo:

Codice: Seleziona tutto

#!/bin/bash

nome_file='elenco_gruppi.txt'

function funzione1(){
	echo "Ciao, sono funzione1"
}

function inserimento(){
	echo "Inserire nome del gruppo"
	read nome_gruppo
	if ! grep -q "$nome_gruppo" "$nome_file"; then 
		echo -e "Nome gruppo non valido! Reinserirlo\n"
		inserimento
	fi
}

inserimento
funzione1
-q serve per non avere output da grep
Se non vuoi che la verifica sia case-sensitive aggiungi l'opzione "i", cioè '-qi'

P.S. Metti un titolo esplicativo e usa il tag code per il codice.
Salva l'Ucraina! 🇺🇦
JordanDunk
Prode Principiante
Messaggi: 55
Iscrizione: lunedì 24 aprile 2017, 15:48
Desktop: Ubuntu
Distribuzione: Ubunto 16.10 | x86_64
Sesso: Maschile

Re: problema con file e bash

Messaggio da JordanDunk »

Grazie mille, veramente utile.
Devo ancora esercitarmi bene con l'uso delle if e come la bash interpreta i comandi perchè sono abituato con il C.
Posso ricambiarti il favore in qualche modo?
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: problema con file e bash [risolto]

Messaggio da UbuNuovo »

Si! Puoi dare aiuto ad altri utenti. :)
Puoi cominciare cambiando il titolo in uno che indichi lo specifico problema; in questo modo altri utenti possono trovare facilmente quello che cercano.
:ciao:
Salva l'Ucraina! 🇺🇦
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti