Supportnet / Forum / Linux
bash programmierung
Frage
Ich habe in einem bash-script eine Variable mit mehreren Argumenten die durch ein blank getrennt sind. Wie kann ich aus dieser Variable alle Argumente, die "abc*.xyz" lauten entfernen. Mit sed hab ichs schon probiert, der versteht allerdings keine "*". awk war auch nicht sehr hilfreich. Danke schonmal!
Grüße, feily
Antwort 1 von Huutsch
der sed hat ein paar Sonderzeichen, die er für die Steuerung nutzt, willst Du diese Zeichen suchen, dann mußt Du sie mit einem "\" maskieren mit \* also den "*" oder mit \. den ".".
Natürlich ist damit das "\" selber ein Sonderzeichen und muß auch maskiert werden, wenn Du danach suchst mit \\.
Damit solltest Du das eigentlich hinbekommen.
Natürlich ist damit das "\" selber ein Sonderzeichen und muß auch maskiert werden, wenn Du danach suchst mit \\.
Damit solltest Du das eigentlich hinbekommen.
Antwort 2 von feily
Mit einem "\" davor funktionierts nicht. Hatte ich auch schon probiert. Wie ich jetzt erfahren habe muss man zwei "\" davor machen. "\\*" liefert also dann das was ich suche.
Trotzdem danke!
Trotzdem danke!
Antwort 3 von Adik
Genau das hat er dir doch gesagt! Da ein \ immer das nächste Zeichen "entwertet" musst du dann halt \\ schreiben...
Antwort 4 von feily
Ne ne! Was ich suche ist die Zeichenkombination die das macht was normal in der bash das "*" macht und das ist weder "*" noch "\*" und auch nicht "\\*". Ein Beispiel:
[feily@server1 misc]$ echo "aaa bbb ccc abc-def.xyz abc-hijk.xyz"|sed
's/abc-*.xyz//g'
aaa bbb ccc
[feily@server1 misc]$ echo "aaa bbb ccc abc-def.xyz abc-hijk.xyz"|sed
's/abc-*.xyz//g'
aaa bbb ccc
Antwort 5 von Huutsch
. (Punkt) = beliebiges Zeichen
* = Wiederholung
Wenn Du also abc-*.xyz (Bash) erreichen willst, dann mußt Du
s/abc-.*\.xyz//g
benutzen.
Alle Klarheiten beseitigt?
* = Wiederholung
Wenn Du also abc-*.xyz (Bash) erreichen willst, dann mußt Du
s/abc-.*\.xyz//g
benutzen.
Alle Klarheiten beseitigt?
Ich möchte kostenlos eine Frage an die Mitglieder stellen:
Ähnliche Themen:
- Batch-Programmierung: Dateinamen mit Variable versehen
- Gruppeneinteilung des Bereiches Programmierung relativ unpraktisch
- Hallo und Frage: Makro für Kontrollkästchen, beim aktivieren Zellen und Inhalte aus Tabelle einfügt und beim deaktvieren herausnimmt?
- Programmierung der Fernabfrage zu Siemens TelFax 830 AB
- Linux Batch

