Rimuovere le virgolette da una stringa

Bash:
Rimuovere le virgolette da una stringa

Come fare:

Bash offre diversi modi per rimuovere le virgolette dalle stringhe. Ecco alcuni esempi rapidi:

#!/bin/bash

# Utilizzo della sostituzione di variabile per rimuovere sia le virgolette singole che doppie
STRING="\"Ciao, Mondo!\""
echo ${STRING//\"}

# Utilizzo di `tr` per eliminare le virgolette
STRING="'Ciao, Mondo!'"
echo $STRING | tr -d "\'"

# Utilizzo di `sed` per eliminare le virgolette
STRING="\"Ciao, Mondo!\""
echo $STRING | sed 's/"//g'

Output di esempio:

Ciao, Mondo!
Ciao, Mondo!
Ciao, Mondo!

Approfondimento

Tempo fa, comandi Unix come tr e sed erano gli strumenti principali per l’elaborazione del testo. Sono ancora utilizzati oggi per la loro flessibilità e potenza nel gestire trasformazioni di testo come la rimozione delle virgolette. Costituiscono un pilastro nel toolkit di chi scrive script per la shell.

Bash di per sé si è evoluto nel tempo e la sostituzione delle variabili aggiunge un altro livello di semplicità per le manipolazioni di stringhe su piccola scala. Ti risparmia l’utilizzo di binari esterni, rendendo gli script un po’ più efficienti.

Mentre tr è ottimo per eliminare caratteri, non gestisce modelli più complessi. sed, d’altro canto, utilizza espressioni regolari, quindi a volte è eccessivo e potrebbe essere più lento per operazioni semplici.

La scelta tra questi metodi dipende dal tuo caso specifico. Se devi rimuovere una varietà di virgolette e sei già nel contesto di uno script Bash, l’utilizzo della sostituzione delle variabili è una scelta ovvia per la sua semplicità. Ma se stai trasformando flussi di testo o dati su più linee, tr e sed sono i tuoi compagni ideali.

Vedi anche: