Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » Bash Teilstrings

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
07.08.2003, 16:57 Uhr
typecast
aka loddab
(Operator)


Hallo
wie kann man in einem Shell-Skript herausfinden, ob ein Teilstring in einem String enthalten ist?
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.08.2003, 17:14 Uhr
0xdeadbeef
Gott
(Operator)



Code:
if [ -z $(echo $STR | grep "teilstring") ]; then
  echo nicht drin
else
  echo drin
fi


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 07.08.2003 um 17:16 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.08.2003, 17:16 Uhr
~Babysitter
Gast


Sorry für meine Neugier, aber was ist ein Teilstring ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.08.2003, 17:17 Uhr
typecast
aka loddab
(Operator)


z.B. ist "Hallo" ist ein Teilstring von "Hallo du"
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)

Dieser Post wurde am 07.08.2003 um 17:18 Uhr von Loddab editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.08.2003, 17:28 Uhr
typecast
aka loddab
(Operator)


Jetzt muss ich schauen, ob das erste Wort des Strings gleich einem Teilstring ist. Dafür habe ich folgendes gemacht:

Code:
if [ "INCPATH" == $(echo $line | awk '{print$1}') ] then
     line="blabla"
fi


Bei der Ausführung kommt folgender Fehler:

Code:
line 9: syntax error near unexpected token `fi'
ine 9: `  fi'



Warum?
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
07.08.2003, 17:32 Uhr
0xdeadbeef
Gott
(Operator)


Pack ein Semikolon vor das 'then'
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
07.08.2003, 17:56 Uhr
typecast
aka loddab
(Operator)


Bringt nichts
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
07.08.2003, 18:38 Uhr
Pablo
Supertux
(Operator)



Zitat:
0xdeadbeef postete

Code:
if [ -z $(echo $STR | grep "teilstring") ]; then
  echo nicht drin
else
  echo drin
fi



Ziemlich gut, aber funktioniert nicht richtig bei mir. Da ist die Ausgabe:

[: teilstring: binary operator expected
drin


Ich hab etwas geändert:

Code:
if [ -z "$(echo $STR | grep teilstring)" ]; then
  echo nicht drin
else
  echo drin
fi



@Loddab: wie wäre es wenn du $(echo $line | awk '{print$1}') in Anführungszeichen stezt?
Vielleicht hilft das:

Code:
if [ "INCPATH" == "$(echo $line | awk '{print $1}')"  ]; then
     line="blabla"
fi


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 07.08.2003 um 18:47 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
07.08.2003, 18:40 Uhr
0xdeadbeef
Gott
(Operator)



Code:
if [ "INCPATH" == [b]"[/b]$(echo $line | awk '{print$1}')[b]"[/b] ][b];[/b]then
  line="blabla"
fi


Alles klar?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
07.08.2003, 18:42 Uhr
0xdeadbeef
Gott
(Operator)


Bäh, war wieder einer schneller als ich. @Pablo: Nicht das Semikolon vor dem then vergessen. Zeilenumbruch wäre auch ok.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: