The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > UNIX for Advanced & ekspertbrukere
.
google unix.com



UNIX for Advanced & ekspertbrukere Expert-til-ekspert. Lær avanserte UNIX UNIX kommandoer, Linux operativsystem, systemadministrasjon, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
se linje for linje i en fil loperam Shell programmering og Skripting 6 11-04-2008 12:24
Slik kontrollerer etter linje ooilinlove Shell programmering og Skripting 4 08-18-2008 11:35
Sjekk siste linje med gawk? sjf Shell programmering og Skripting 3 10-04-2006 03:20
Dynamisk inneholder filen tar kommandoen kadishmj UNIX for Dummies Spørsmål og svar 1 03-09-2005 06:48

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 12-19-2008
alex_5161 alex_5161 is offline
Registrert bruker
  
 

Bli Date: Jan 2007
Beliggenhet: Detroit
Innlegg: 124
.. for å kontrollere om en linje inneholder en subline ..?

Hva ville være den beste måten å kontrollere om en bestemt linje (i variabelen) har en annen linje (mer enn 1 char)?

Jeg forstår at det kan gjøres med 'grep', 'triste', 'awk', ved parameteren ekspansjon, men disse ser ut til meg havy, worldy, ikke elegant og overhead i behandlingen

For slik felles oppgave jeg ville forvente noe fra shell, kanskje, i nærheten:
Code:
>a="string with piece to search"
>${a??"piece"} && echo "the string has a searched substring" || echo "not found"

... Jeg brukte her et "?" som, type, søk operator (som "?" blir brukt til en annen handling.)
Men jeg vet ikke noe sånt. - Kanskje jeg bare ikke kjenner?
Ellers,

hva ville være din beste aproach til å utføre enkle handling?

Takk!
  #2 (permalink)  
Old 12-19-2008
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
stoffmisbruker
  
 

Bli Date: Jan 2007
Beliggenhet: Варна, България / Milano, Italia
Innlegg: 2928
Med alle Bourne-type skjell * du kan bruke sak og jokertegn mønstersamsvar (* Jeg tror csh Familien bruker en annen syntaks):


Code:
a="string with piece to search"

case $a in
  *piece*) printf "OK\n";;
        *) printf "KO\n";;
esac

Med ksh93, zsh og bash:


Code:
[[ $a == *piece* ]]&&printf "OK\n"||printf "KO\n"

Med noen versjoner av de ovennevnte shells du kan selv match hjelp regeluttrykk med \u003d ~ operatør.

Sist endret av radoulov; 12-19-2008 på 04:40..
  #3 (permalink)  
Old 12-19-2008
alex_5161 alex_5161 is offline
Registrert bruker
  
 

Bli Date: Jan 2007
Beliggenhet: Detroit
Innlegg: 124
Takk, det er godt: siste 2 er ganske fin, den "case" er interessant, men lite wordy.
Verken en måte kom til meg.

I min bash kampen fungerer, så det er best:

Code:
> a="string with piece to search"
> [[ $a =~ piece ]] && ec da || ec net
da
>

Takker for addvice!
Closed Thread

Hugseliste

Tags
shell script, shell scripting, unix scripting, UNIX scripting Grunnleggende

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 05:51.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0