Ich möchte überprüfen, ob eine Zeichenfolge in eine andere Zeichenfolge eingebettet ist. Zum Beispiel pineapple
und apple
passen ebenso zusammen wie aepprestlse
und apple
.Überprüfen, ob der String eine eingebettete Zeichenfolge in der Reihenfolge
Dies ist eine einfache Aufgabe, wenn ich das Wort, das ich gegen zum Beispiel testen will wissen:
if [[ $e == *"a"*"p"*"p"*"l"*"e"* ]]
then
echo "match"
fi
Jedoch habe ich, was meine "apple"
Variable ersetzt nicht die Länge oder Inhalt wissen, wann ich das Skript ausführen . Wie kann ich diese Prüfung mit variablen Größen/Inhalten durchführen?
danke, ich landete einen verdummte Ansatzes, da ich nicht vor mit Falz gearbeitet habe, aber das hat ich begonnen –
Sie können den gleichen Regex mit 'sed 's /./ &.*/g; s /\.\*$//' <<< apple' erstellen – karakfa
Dies ist in Ordnung, wenn die Suchzeichenfolge einen eingeschränkten Satz von Zeichen enthält, aber es kann brechen unter bestimmten Umständen. Leerzeichen in der Suchzeichenfolge werden ignoriert. Globbing wird an den Suchstring-Zeichen vorgenommen, so dass seltsame Dinge passieren, wenn der Suchstring ein '*' enthält. Seltsame Dinge können auch passieren, wenn der Suchstring Regex-Metazeichen wie '.',' ['und'] 'enthält. – pjh