![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Bruke grep for å trekke ut linjenummer | mskarica | Shell programmering og Skripting | 8 | 06-26-2008 03:47 |
| Hvordan grep / zgrep til utdata samsvarende filnavn og linjenummer? | vvaidyan | UNIX for Dummies Spørsmål og svar | 3 | 03-12-2008 05:33 |
| grep strengen med linjenummer | salaathi | Shell programmering og Skripting | 4 | 12-04-2007 11:42 |
| Få Filnavn og linjenummeret som bruker grep | ceemh3 | UNIX for Dummies Spørsmål og svar | 4 | 09-17-2007 11:35 |
| er det noen hvorfor komme antall linje i grep resultatet? | umen | UNIX for Dummies Spørsmål og svar | 1 | 03-16-2006 09:56 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Grep et nummer fra en linje i ksh
I file.name, jeg har en linje som leser
$ IDIR / imgen-usemonths-dropcheck-skjerm-sizelimit 80000000-intervallet 120-volcal HSI Hvordan kan jeg få den størrelsen grense, dvs. 80000000 ut og gi det til en variabel kalt størrelse? Takk. Jeg prøvde echo "grep sizelimit file.name" | sed -n-e 's / ^. sizelimit \ ([0-9] * \)-intervall .* $ / \ 1 / p' men det utgang ingenting. |
|
||||
|
Så nær ... Code:
SIZE=`grep sizelimit myfile | sed 's/^.*sizelimit //' | awk '{print $1}'`
bør arbeide (NB. Det gjør at argumentene for å være i en annen rekkefølge i filen). Det finnes andre alternativer som innebærer analyse linjen (enten i awk eller skall), som: Code:
SIZE=0
grep sizelimit myfile | while read s
do
set -- $s
while [ $# -gt 0 ]
do
case $1 in
-sizelimit) SIZE=$2; break;;
*) shift;;
esac
done
done
|
|
||||
|
Sitat:
Det første alternativet fungerer fint. Mente du det fungerer selv om "-sizelimit 80000000" er flyttet et annet sted i linja også? |
|
||||
|
Sitat:
Hva det faktisk gjør er koteletter alt fra starten av linjen til og med ordet sizelimit og mellomrom etter, og deretter tar det første ordet fra resten (som er verdien av sizelimit). |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|