![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| UNIX for dummyer Spørgsmål & svar Hvis du ikke ved, hvor man skal sende en UNIX-eller Linux-spørgsmål, efter det her. Alle UNIX og Linux newbies velkommen! |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| TEST kommando | amatuer_lee_3 | Shell Programmering og Scripting | 4 | 05-09-2008 08:36 AM |
| Brug grep i en test / hvis erklæring | cbo0485 | Shell Programmering og Scripting | 4 | 03-21-2008 12:29 AM |
| Test kommando | JWilliams | AIX | 2 | 12-04-2007 02:53 AM |
| TEST kommando | Marwan | UNIX for dummyer Spørgsmål & svar | 2 | 04-23-2007 07:51 PM |
| UNIX grep kommando | pmsuper | Shell Programmering og Scripting | 1 | 09-19-2006 03:06 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Unix grep / test kommando
Hej, jeg har et script, der tjekker, om brugeren har indtastet 8 numeriske tegn i form af ÅÅÅÅMMDD (fødselsdato). Hvis brugeren indtaster en ikke numeriske tegn, vil en fejlmeddelelse vises:
Code:
# Check to see if the 8 characters are all numbers
# If not show error essage
# And prompt user for more input
echo $char | grep -q '^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$'
if [ $? -ne 0 ]
then
echo "You have entered non-numeric values. Please type in the form of YYYYMMDD"
read char
continue
Er der en enklere måde at skrive denne kommando uden at bruge [0-9] værdi for hvert område? Enhver hjælp ville være værdsat |
|
||||
|
regulære udtryk for Kommasepareret numre
Hej,
Tak for dit svar. Jeg vil blot gøre dette krav mere klare. Jeg læste værdier til en variabel, bruger "læse var". Jeg nu validering af brugerinput. Brugeren skal indtaste værdier i det format, 1,3,6 (kan indtaste numeriske værdier op til n). Jeg har prøvet dette for 2 numre. Dette er den kommando, som jeg havde brugt. Læs col 1,2 ----> input fra brugeren echo $ col | grep-w "^ [0-9], [0-9] $" returkode er vellykket. Hvis det indeholder andre input såsom 1, en eller a, 1 eller a, b den returnerer en kode på 1. Denne kode virker fint til 2 numre, men jeg ønsker at gøre dette arbejde for 'n' numre. Jeg havde prøvet den løsning, som du, men E-kommando er ikke anerkendt af mit manuskript. TIA |
![]() |
| Bogmærker |
| Tags |
| regex, regulære udtryk |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|