Come rimuovere gli ultimi n caratteri da una stringa in bash

Come rimuovere gli ultimi n caratteri da una stringa in bash
Bash è un popolare linguaggio di scripting di shell ampiamente utilizzato nei sistemi operativi basati su Linux e UNIX. Uno dei compiti comuni negli script bash è manipolare le stringhe. A volte, diventa necessario rimuovere gli ultimi n caratteri da una stringa. Questo articolo passerà attraverso diversi metodi bash per rimuovere i caratteri N finali da una stringa.

Come rimuovere gli ultimi n caratteri da una stringa in bash

In Bash, il taglio di spazi bianchi finali dagli ingressi dell'utente o la rimozione dei caratteri N finali da una stringa può essere utilizzato per riordinare i nomi di file con estensioni indesiderate:

  • Usando il comando Cut
  • Usando il comando sed
  • Usando l'espansione dei parametri

Metodo 1: usando il comando Cut

Il comando Cut in Bash viene utilizzato per estrarre sezioni da ogni riga di un file. Può anche essere usato per estrarre una gamma specifica di caratteri da una stringa. Per rimuovere gli ultimi n caratteri da una stringa, possiamo usare il comando Cut con l'opzione -c, ed ecco la sintassi:

Echo "String" | Cut -c -n

Qui la stringa è la stringa effettiva da cui vogliamo rimuovere gli ultimi n caratteri e n è il numero di caratteri che vogliamo rimuovere, sotto è l'esempio che utilizza la sintassi sopra:

#!/Bin/Bash
String = "Hello Linux"
Echo "$ String" | Cut -c -5

Nell'esempio sopra, abbiamo usato il comando Cut per rimuovere gli ultimi 6 caratteri dalla stringa "Hello Linux" e l'output è "Hello".

Metodo 2: usando il comando sed

SED è un potente editor di stream che può essere utilizzato per eseguire varie trasformazioni di testo su un file o un flusso di input. Per rimuovere gli ultimi n caratteri da una stringa usando SED, possiamo utilizzare la sintassi del comando seguente:

Echo "String" | sed 's/.\ n \ $ // '

Qui, n è il numero di caratteri che vogliamo rimuovere dalla fine della stringa e di seguito è un esempio che utilizza il comando SED:

#!/Bin/Bash
String = "Hello Linux"
Echo "$ String" | sed 's/.\ 6 \ $ // '

Nell'esempio sopra, abbiamo usato il comando SED per rimuovere gli ultimi 6 caratteri dalla stringa "Hello Linux" e l'output è "ciao".

Metodo 3: usando l'espansione dei parametri

L'espansione dei parametri è una funzione in bash che ci consente di manipolare il valore di una variabile. Per rimuovere gli ultimi n caratteri da una stringa usando l'espansione dei parametri, possiamo usare la seguente sintassi:

$ String ::-n

Qui, la variabile stringa contenente la stringa effettiva da cui vogliamo rimuovere gli ultimi n caratteri e n è il numero di caratteri che vogliamo rimuovere.

#!/Bin/Bash
String = "Hello Linux"
echo $ String ::-6

Nell'esempio sopra, abbiamo usato l'espansione dei parametri per rimuovere gli ultimi 4 caratteri dalla stringa "Hello Linux" e l'output è "Hello".

Conclusione

Per rimuovere gli ultimi n caratteri da una stringa in bash, il comando taglio, il comando SED e l'espansione dei parametri sono i tre modi. Questi metodi sono facili da usare e possono essere utili in varie attività di scripting bash. Usando questi metodi, possiamo facilmente manipolare le stringhe ed eseguire trasformazioni di testo in bash.