Come sostituire un personaggio con un altro in Bash Script
Sostituire un carattere con un altro è un compito comune nello scripting di sash e può essere utile in molti scenari diversi. Ecco i tre semplici modi per sostituire un personaggio con un altro in una sceneggiatura bash:
Come sostituire un carattere con un altro usando il comando TR in bash
Il comando TR è uno strumento semplice per tradurre, eliminare o spremere i caratteri in una stringa. Può essere usato per sostituire un carattere con un altro specificando i caratteri da sostituire e le loro sostituzioni, ecco la sintassi per l'utilizzo di questo comando:
tr '' ''
Qui per illustrazione se ho preso una stringa che è "Hello Linux" e se voglio sostituire la lettera maiuscola L con la lettera maiuscola W, può essere fatto con l'uso del comando TR in questo modo:
Echo "Hello Linux" | tr 'l' 'w'
Ecco il codice Bash completo che mostra come utilizzare il comando TR per sostituire un carattere con un altro:
#!/Bin/Bash
Main_string = "Hello Linux"
esporta New_string = $ (echo "$ main_string" | tr 'l' 'w')
echo "main_string:" $ main_string
echo "modificato_string:" $ new_string
Ecco l'output per lo script bash, L è sostituito con W:
Come sostituire un carattere con un altro usando il comando sed in bash
Un altro modo per sostituire un personaggio con un altro personaggio in Bash è usare il comando SED. Il comando SED è un editor di streaming in grado di eseguire varie operazioni su una stringa, inclusa la sostituzione. Ecco la sintassi per utilizzare questo comando per sostituire un carattere con un altro:
sed 's /// g'
Qui per illustrazione se ho preso una stringa che è "Hello Linux" e voglio sostituire la lettera minuscola "L" con "W", allora può essere fatto con l'uso del comando TR in questo modo:
Echo "Hello Linux" | sed 's/l/w/g'
Ecco il codice Bash completo che mostra come utilizzare il comando SED per sostituire un carattere con un altro:
#!/Bin/Bash
Main_string = "Hello Linux"
New_string = $ (echo "$ main_string" | sed 's/l/w/g')
echo "main_string:" $ main_string
echo "modificato_string:" $ new_string
In questo esempio, stiamo usando il comando Echo per emergere la stringa "Hello Linux", quindi con le pipì sull'output al comando SED. Il comando SED sta usando il comando di sostituzione per sostituire tutte le occorrenze della lettera "L" con la lettera "W". L'opzione G alla fine del comando dice a SED di sostituire tutte le occorrenze del carattere nella stringa, non solo il primo occorrenza. L'output di questo comando sarà "Hello Winux":
Come sostituire un carattere con un altro usando l'espansione dei parametri in bash
Un altro modo per sostituire un personaggio con un altro in bash, puoi essere usando un'espansione dei parametri ed ecco un esempio che sostituisce "L" della stringa originale "W" Nuovo personaggio:
#!/Bin/Bash
Main_string = "Hello Linux"
New_string = "$ main_string // l/w"
echo "main_string:" $ main_string
echo "modificato_string:" $ new_string
In questo esempio, stiamo usando l'espansione dei parametri per sostituire tutte le occorrenze della lettera minuscola "H" con la lettera "S" nella variabile Main_String. L'output di questo comando sarà "Hello Winux":
Conclusione
Esistono diversi modi per sostituire un carattere con un altro carattere in bash, incluso l'uso del comando TR, il comando SED e l'espansione dei parametri. Ogni metodo ha i suoi vantaggi e svantaggi, quindi scegli quello che funziona meglio per il tuo caso d'uso specifico in quanto questa guida fornisce tutti e tre i metodi per farlo.