Sono nuovo di UNIX, avendo solo iniziato al lavoro oggi, ma con esperienza con Java, e hanno il seguente codice:Controllo una stringa per vedere se contiene caratteri numerici in UNIX
#/bin/bash
echo "Please enter a word:"
read word
grep -i $word $1 | cut -d',' -f1,2 | tr "," "-"> output
questo funziona bene, ma quello che ora devo fare è controllare quando la parola viene letta, che non contiene nient'altro che lettere e se ha caratteri numerici nella stampa "Input non valido!" messaggio e chiedere loro di inserirlo di nuovo. Ho assunto espressioni regolari con un'istruzione if se fosse il modo semplice per farlo, ma non riesco a capire come usarle in UNIX come sono abituato all'applicazione Java di loro. Qualsiasi aiuto con questo sarebbe molto apprezzato, dato che non sono riuscito a trovare aiuto durante la ricerca come tutte le soluzioni con espressioni regolari in linux che ho trovato affrontate solo se era tutto numerico o no.
'-q' per grep non è portabile al di fuori di GNU.Se vuoi una portabilità completa (l'unica ragione per usare mai sh), usa '>/dev/null 2> & 1' – Daenyth
+1, Questa è una soluzione davvero UNIX, semplice e pulita. – Anders
@Daenyth hai assolutamente ragione, e l'ho fatto anche quando l'ho provato sul mio sistema, poi ho aggiunto il '-q' quando ho postato la mia risposta. Sembra che sia stato GNU solo per troppo tempo. –