![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| una stringa di prova ... | Kaminski | UNIX for Dummies Domande & Risposte | 2 | 02-12-2008 05:37 AM |
| Regex Spliting con la stringa alfanumerica e in parte Numerico | ozgurgul | Shell scripting e di programmazione | 1 | 06-30-2007 09:52 AM |
| Stringa alfanumerica Operazioni | lakshmikanth | UNIX for Dummies Domande & Risposte | 3 | 01-05-2007 06:55 AM |
| stringa di prova? | hedrict | UNIX for Dummies Domande & Risposte | 9 | 03-29-2002 03:57 PM |
| corrispondenti stringa alfanumerica | sskb | Shell scripting e di programmazione | 4 | 12-12-2001 10:48 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Okay mi permetterà agli utenti di spazi di ingresso, nonché
![]() Ho un blocco mentale. Ho fatto un paio di ricerche ma havent trovato nulla che capisco (del calibro di: alpha: e awk). Fondamentalmente voglio dare all'utente la possibilità di inserire del testo, che verrà ricordato come un campo all'interno di un file flat (che è delimeted da:). Voglio limitare questo a 50 caratteri (credo di poter utilizzare typeset-Z50 per questo) Ho anche just wanna az, AZ, (spazi) e numeri. Che cosa è il modo migliore per validare l'input? |
|
||||
|
Un modo è di usare tr per rimuovere i tipi di caratteri indesiderati. -dc elimina tutto tranne i tipi di caratteri specificati. [: alnum;] è un codice alfanumerico, quindi se si controlla la lunghezza della stringa che dovrebbe restare invariato se contiene solo i tipi di caratteri che si desidera.
Codice:
# t is the input string, ck is a variable to check the contents of t
t="thisisa555ctest"
ck=$( echo "$t" | tr -dc '[:alnum:]')
if [[ ${#t} -eq ${#ck} ]]; then
echo "ok"
else
echo "not ok"
exit 1
fi
# t is all good chars at this point
# check length of t
if [[ ${#t} -gt 50 ]]; then
echo "not ok too long"
fi
|
|
||||
|
Credo di aver ruppe
Sto usando questo codice. Le prove che ho fatto sembra funzionare.
pur vero fare chiaro echo "Inserisci il testo: \ c" leggere t case $ t in + ([az] | [AZ] | [0-9] | [ ''])) stringa di prova eco è okay pausa ;; *) echo stringa di prova non va bene Stop 2 ;; esac fatto |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|