Quotes verwijderen uit een string

Bash:
Quotes verwijderen uit een string

Hoe te:

Bash heeft verschillende manieren om aanhalingstekens uit strings te verwijderen. Hier zijn enkele snelle voorbeelden:

#!/bin/bash

# Gebruik van variabele substitutie om zowel enkele als dubbele aanhalingstekens te verwijderen
STRING="\"Hallo, Wereld!\""
echo ${STRING//\"}

# Gebruik van `tr` om aanhalingstekens te verwijderen
STRING="'Hallo, Wereld!'"
echo $STRING | tr -d "\'"

# Gebruik van `sed` om aanhalingstekens te verwijderen
STRING="\"Hallo, Wereld!\""
echo $STRING | sed 's/"//g'

Voorbeelduitvoer:

Hallo, Wereld!
Hallo, Wereld!
Hallo, Wereld!

Uitdieping

Lang geleden waren Unix-commando’s zoals tr en sed de belangrijkste hulpmiddelen voor tekstverwerking. Ze worden vandaag de dag nog steeds gebruikt vanwege hun flexibiliteit en kracht in het hanteren van teksttransformaties zoals het verwijderen van aanhalingstekens. Ze zijn een vast onderdeel van de gereedschapskist van elke shell-scripter.

Bash zelf is sindsdien geëvolueerd en variabele substitutie voegt een extra laag van eenvoud toe voor kleinschalige stringmanipulaties. Het bespaart je het uitvoeren naar externe binaries, wat je scripts een beetje efficiënter maakt.

Hoewel tr geweldig is voor het verwijderen van karakters, kan het niet omgaan met complexere patronen. sed, aan de andere kant, gebruikt reguliere expressies, dus soms is het overkill en mogelijk langzamer voor eenvoudige bewerkingen.

Het kiezen tussen deze methoden is afhankelijk van je specifieke geval. Als je een verscheidenheid aan aanhalingstekens moet verwijderen en je bent al in de context van een Bash-script, dan is het gebruik van variabele substitutie een fluitje van een cent vanwege de eenvoud. Maar als je tekststromen of meerlijnige data aan het transformeren bent, zijn tr en sed je beste vrienden.

Zie ook: