(erledigt) Shell substring entfernen in Zeichenkette mit Anführungsstriche, wie ?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
ren22

(erledigt) Shell substring entfernen in Zeichenkette mit Anführungsstriche, wie ?

Beitrag von ren22 » 05.05.2020 21:56:34

Hallo,

ich würde gerne mit den shell buildins, dem sogenannten 'substring removing', den Wert, der zwischen zwei Anführungszeichen steht extrahieren, allderding scheitert ich an den Anführungsstrichen.

Code: Alles auswählen

#!/bin/sh
stringZ='foobar="1"'
echo ${stringZ#"*"}      # sollte Ausgeben: foobar="1
echo ${stringZ##"*"}     # sollte Ausgeben: 1"
als Ausgabe erhalte ich nur das:
foobar="1"
foobar="1"


Wie kann man die Zahl 1 zwichen den Anführungszeichen extrahieren mit den Shell buildins?
Vielen Dank!
Zuletzt geändert von ren22 am 05.05.2020 22:08:08, insgesamt 1-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 9225
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Shell substring entfernen in Zeichenkette mit Anführungsstriche, wie ?

Beitrag von Meillo » 05.05.2020 22:02:07

Du musst die Double-Quotes escapen, damit sie literal (= als sich selbst) verwendet werden.

Code: Alles auswählen

B-) echo ${stringZ%*\"} 
foobar="1

B-) echo ${stringZ#*\"} 
1"
Use ed once in a while!

ren22

Re: Shell substring entfernen in Zeichenkette mit Anführungsstriche, wie ?

Beitrag von ren22 » 05.05.2020 22:07:55

Danke Meillo, stehe heute ein wenig auf dem Schlauch XD

:THX:

Benutzeravatar
Meillo
Moderator
Beiträge: 9225
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: (erledigt) Shell substring entfernen in Zeichenkette mit Anführungsstriche, wie ?

Beitrag von Meillo » 05.05.2020 22:11:35

Zum Glueck gibt's ja das DFDE! ;-)

Meinen Abend hat's jedenfalls bereichert.
Use ed once in a while!

Antworten