Programmazione BASH

Rimozione di caratteri da una stringa in Bash

Rimozione di caratteri da una stringa in Bash

A volte, potrebbe essere necessario rimuovere i caratteri da una stringa. Qualunque sia la ragione, Linux ti fornisce vari strumenti pratici e integrati che ti consentono di rimuovere i caratteri da una stringa in Bash. Questo articolo mostra come utilizzare questi strumenti per rimuovere i caratteri da una stringa.

L'articolo spiega come eseguire quanto segue:

I comandi mostrati in questo articolo sono stati eseguiti in Ubuntu 20.04 Fossa Focale. Gli stessi comandi possono essere eseguiti anche su altre distribuzioni Linux che hanno a disposizione gli strumenti di cui sopra. Useremo l'applicazione Terminale predefinita per eseguire i comandi. Puoi accedere all'applicazione Terminale usando la scorciatoia da tastiera Ctrl+Alt+T.

Rimuovi i caratteri dalla stringa usando sed

Sed è un'utilità potente e pratica utilizzata per modificare flussi di testo. È un editor di testo non interattivo che consente di eseguire manipolazioni di testo di base sui flussi di input. Puoi anche usare sed per rimuovere i caratteri indesiderati dalle stringhe.

A scopo dimostrativo, useremo una stringa di esempio e poi la invieremo al comando sed.

Rimuovi carattere specifico dalla stringa

Usando sed, puoi rimuovere un carattere specifico da una stringa. Ad esempio, per rimuovere "h" dalla stringa "Ciao, come stai?” il comando sarebbe:

$ echo "ciao, come stai??" | sed 's/h//'

Questo rimuoverà solo la prima occorrenza di 'h' nella stringa.

Per rimuovere tutte le occorrenze di 'h' dalla stringa, utilizzare il seguente comando:

$ echo "ciao, come stai??" | sed 's/h//g'

Dove g sta per globale. Rimuoverà tutte le occorrenze di 'h' nella stringa.

Rimuovi il primo carattere dalla stringa

Per rimuovere il primo carattere dalla stringa “Ciao, come stai?" il comando sarebbe:

$ echo "ciao, come stai??" | sed 's/^.//' file

Dove (.) corrisponde esattamente a un singolo carattere e (^) corrisponde a qualsiasi carattere all'inizio della stringa.

Rimuovi l'ultimo carattere dalla stringa

Per rimuovere l'ultimo carattere dalla stringa "Ciao, come stai?" il comando sarebbe:

$ echo "ciao, come stai??" | sed 's/.$//'

Dove (.) corrisponde esattamente a un singolo carattere e ($) corrisponde a qualsiasi carattere alla fine della stringa.

Rimuovi il primo e l'ultimo carattere dalla stringa

Per rimuovere il primo e l'ultimo carattere dalla stringa "Ciao, come stai?" il comando sarebbe:

$ echo "ciao, come stai??" | sed 's/^.//;S/.$//'

Rimuovi i caratteri dalla stringa usando awk

Awk è un potente linguaggio di scripting utilizzato per la corrispondenza dei modelli, insieme all'elaborazione del testo. Awk ti consente di filtrare e trasformare il testo in vari modi. Puoi anche usare awk per rimuovere i caratteri dalle stringhe.

A scopo dimostrativo, useremo una stringa di esempio e poi la invieremo al comando awk.

Rimuovi il primo carattere da una stringa

Per rimuovere il primo carattere dalla stringa “Ciao, come stai?" il comando sarebbe:

$ echo "ciao, come stai??" | awk ' print substr( $0, 2 ) '

Dove ($0) è l'intera stringa di destinazione e (2) è la posizione iniziale del carattere. Il comando precedente rimuove il primo carattere, 'h,' carattere numero '1' e restituisce la stringa di destinazione che inizia con il secondo carattere, 'e.'

Rimuovi i primi due caratteri dalla stringa

Puoi anche rimuovere un numero specifico di caratteri dall'inizio di una stringa. Ad esempio, per rimuovere i primi due caratteri dalla stringa "Ciao, come stai?" il comando sarebbe:

$ echo "ciao, come stai??" | awk ' print substr ($0, 3 ) '

Il comando precedente rimuoverà i primi due caratteri, "lui" o i numeri di carattere "1 e 2" e restituisce la stringa di destinazione che inizia con il numero di carattere "3," o "l.'

Rimuovi l'ultimo carattere dalla stringa

Per rimuovere l'ultimo carattere da "Ciao, come stai?" il comando sarebbe:

$ echo "ciao, come stai??" | awk ' print substr( $0, 1, length($0)-1 ) '

Dove lunghezza($0)-1 significa detrarre '1' dalla lunghezza totale del carattere.

Il comando precedente stamperà la stringa che inizia con il carattere numero '1' fino a lunghezza($0)-1 per togliere l'ultimo carattere.

Ci sono '19'caratteri (spazi inclusi) nella stringa sopra. Il comando funzionerà stampando tutti i caratteri, iniziando con il carattere '1' e fino al carattere '18,' durante la rimozione dell'ultimo carattere '19.'

Rimuovi gli ultimi due caratteri dalla stringa

Per rimuovere gli ultimi due caratteri da "Ciao, come stai?” il comando sarebbe:

$ echo "ciao, come stai??" | awk ' print substr($0, 1, length($0)-2 ) '

Dove lunghezza($0)-2 significa detrarre '2' dalla lunghezza totale del carattere.

Il comando precedente stamperà la stringa, che inizia con il carattere numero '1' e fino al numero di carattere 'lunghezza($0)-2,' per rimuovere gli ultimi due caratteri nella stringa.

Rimuovi sia il primo che l'ultimo carattere dalla stringa

Per rimuovere sia il primo che l'ultimo carattere dalla stringa "Ciao, come stai?" il comando sarebbe:

$ echo "ciao, come stai??" | awk 'print substr($0, 2, length($0) - 2)'

Dove lunghezza($0)-2 significa detrarre '2' dalla lunghezza totale del carattere.

Il comando precedente stamperà la stringa, che inizia con il carattere numero '2'fino al numero di caratteri'lunghezza($0)-2,' per rimuovere il primo e l'ultimo carattere.

Rimuovi il carattere dalla stringa usando il taglio

Taglia è uno strumento da riga di comando comunemente usato per estrarre una porzione di testo da una stringa o da un file e stampare il risultato su un output standard. Puoi anche usare questo comando per rimuovere caratteri da una stringa.

A scopo dimostrativo, utilizzeremo una stringa di esempio e la indirizzeremo al comando cut.

Rimuovi il primo carattere dalla stringa

Per rimuovere il primo carattere dalla stringa, "Ciao, come stai?" il comando sarebbe:

$ echo "ciao, come stai??" | taglio -c 2-

Questo comando stamperà la stringa, iniziando con il secondo carattere, rimuovendo il primo carattere.

Rimuovi i primi quattro caratteri dalla stringa

Per rimuovere i primi quattro caratteri dalla stringa “Ciao, come stai?" il comando sarebbe:

$ echo "ciao, come stai??" | taglio -c 5-

Questo comando stamperà la stringa, a partire dal quinto carattere, rimuovendo i primi quattro caratteri.

Stampa stringa tra il 2° e il 5° carattere

Per stampare la stringa “Ciao, come stai?" tra il secondo e il quinto carattere, il comando sarebbe:

$ echo "ciao, come stai??" | taglia -c 2-5

Questo comando stamperà la stringa, a partire dal secondo carattere e fino al quinto carattere, rimuovendo i restanti caratteri di inizio e fine.

Rimuovi l'ultimo carattere dalla stringa

Per rimuovere l'ultimo carattere dalla stringa "Ciao, come stai?" Usa il taglio comando con rev, come segue:

$ echo "ciao, come stai??" | rev | cut -c2- | rev

Questo comando funziona prima invertendo la stringa, quindi tagliando il primo carattere e infine invertendo di nuovo per darti l'output desiderato.

Rimuovi gli ultimi quattro caratteri dalla stringa

Per rimuovere gli ultimi quattro caratteri dalla riga "Ciao, come stai?" il comando sarebbe:

$ echo "ciao, come stai??" | rev | cut -c5- | rev

Questo comando funziona prima invertendo la stringa, quindi tagliando i primi quattro caratteri e quindi invertendo di nuovo per darti l'output desiderato.

Rimuovi il primo e l'ultimo carattere dalla stringa

Per rimuovere il primo e l'ultimo carattere dalla stringa "Ciao, come stai?" Usa il taglio comando con rev, come segue:

$ echo "ciao mondo!" | cut -c2- | rev | cut -c2- |rev

Questo comando funziona tagliando il primo carattere, quindi invertendo la stringa e tagliando il suo primo carattere, quindi invertendolo di nuovo per darti l'output desiderato.

Rimuovi il carattere dalla stringa usando tr

Il comando tr (abbreviazione di translate) viene utilizzato per tradurre, spremere ed eliminare caratteri da una stringa. Puoi anche usare tr per rimuovere caratteri da una stringa.

A scopo dimostrativo, useremo una stringa di esempio e poi la invieremo al comando tr.

Rimuovi tutte le occorrenze di carattere

Usando il comando tr, puoi rimuovere tutte le occorrenze di caratteri minuscoli o maiuscoli dalla tua stringa. Ad esempio, per rimuovere tutte le occorrenze del carattere minuscolo 'h' dalla stringa, il comando sarebbe:

$ echo "Ciao, come stai??" | tr -d h

Allo stesso modo, per rimuovere tutte le occorrenze del carattere maiuscolo 'H' dalla stringa, il comando sarebbe:

$ echo "Ciao, come stai??" | tr -d H

Puoi anche utilizzare sequenze interpretate per rimuovere lettere minuscole o maiuscole:

$ echo "Ciao, come stai??"| tr -d [:upper:]

$ echo "CIAO, come stai??"| tr -d [:inferiore:]

Rimuovi tutte le occorrenze di caratteri minuscoli e maiuscoli

Puoi anche rimuovere tutte le occorrenze di caratteri minuscoli e maiuscoli da una stringa. Ad esempio, il seguente comando rimuoverà tutte le occorrenze del carattere 'h', sia minuscole che maiuscole.

$ echo "Ciao, come stai??" | tr -d 'hH'

Rimuovi tutte le occorrenze di caratteri in un intervallo specifico

Per rimuovere tutte le occorrenze di caratteri da una stringa nell'intervallo specifico "d-h", il comando sarebbe:

$ echo "ciao, come stai??" | tr -d 'd-h'

Questo comando rimuoverà tutti i caratteri nell'intervallo 'd-h' (d,e,f,g,h) nella stringa.

Conclusione

In Linux, ci sarà sempre più di un modo per realizzare un lavoro semplice. Lo stesso vale per la rimozione di caratteri da una stringa. Questo articolo ti ha mostrato quattro modi diversi per farlo, insieme ad alcuni esempi per rimuovere caratteri indesiderati da una stringa. Decidere quale strumento utilizzare dipende dalle tue preferenze e, soprattutto, da ciò che vuoi ottenere.

Il cursore salta o si sposta in modo casuale durante la digitazione in Windows 10
Se scopri che il cursore del mouse salta o si sposta da solo, automaticamente, in modo casuale durante la digitazione nel laptop o nel computer Window...
Come invertire la direzione di scorrimento del mouse e dei touchpad in Windows 10
Topo e Touchpads non solo rende l'elaborazione semplice, ma anche più efficiente e richiede meno tempo. Non possiamo immaginare una vita senza questi ...
Come modificare il puntatore del mouse e le dimensioni, il colore e lo schema del cursore su Windows 10
Il puntatore del mouse e il cursore in Windows 10 sono aspetti molto importanti del sistema operativo. Questo si può dire anche per altri sistemi oper...