Bash Rimuovi gli ultimi x caratteri dalla stringa

Bash Remove Last X Characters From String



A volte potrebbe essere necessario eliminare le lettere da una stringa. Proprio quello che può essere il caso, Linux include diversi strumenti integrati e utili per rimuovere le lettere da un tale testo in Bash. Questo articolo illustra come eliminare le lettere da una stringa utilizzando questi metodi. In questo post, le istruzioni sono state eseguite su Ubuntu 20.04 Focal Fossa. Le stesse istruzioni possono essere eseguite su qualsiasi sistema Linux su cui sono installate le utilità sopra menzionate. Per eseguire le istruzioni, utilizzeremo il solito Terminale. La scorciatoia Ctrl+Alt+T aprirà lo strumento Terminale.

Metodo 01: modo sottostringa

Il nostro primo metodo per rimuovere lettere o caratteri da una stringa è più simile alla creazione di una sottostringa da una stringa originale. Intanto il terminal è già stato aperto; creeremo un file bash per aggiungere il nostro codice bash. In modo che possiamo eseguire la rimozione dei caratteri o la creazione di sottostringhe. Quindi, abbiamo utilizzato le istruzioni touch integrate nella nostra shell per creare un file bash.









Poiché il file è stato generato rapidamente nella cartella home di Ubuntu 20.04, aprilo in un editor per modificarlo. Quindi, scegliamo l'editor GNU per aprire il documento file.sh come di seguito.







Copia il codice mostrato di seguito in esso. Questo codice contiene l'estensione bash all'inizio e, successivamente, abbiamo dichiarato una variabile stringa val con un valore stringa. Nell'altra riga, usiamo la frase echo per visualizzare questa variabile nel terminale. Il vero compito inizia da qui. Abbiamo inizializzato una variabile new e le abbiamo assegnato un valore che è una sottostringa della variabile originale val. Lo abbiamo fatto menzionando -14 nelle parentesi dopo i doppi due punti. Questo dice al compilatore che deve rimuovere le ultime 14 lettere dalla stringa originale FirstWorldCountries. Le lettere rimanenti verranno salvate nella variabile new. Nell'ultima riga, l'eco è stato utilizzato per stampare la nuova variabile new.



La corretta esecuzione di un file file.sh utilizzando il comando bash risulta come previsto. In primo luogo, visualizza il valore della prima variabile di stringa val e, successivamente, visualizza il valore della stringa appena creata da una prima variabile come da output mostrato.

Metodo 02: utilizzo di simboli speciali

Un altro metodo semplice e più facile per rimuovere le ultime lettere o caratteri da qualsiasi stringa è tramite i simboli o caratteri speciali, ad esempio i simboli di percentuale e punto interrogativo. Quindi, questa volta useremo la percentuale e il punto interrogativo per rimuovere i caratteri da qualsiasi stringa. Quindi, abbiamo già aperto lo stesso file per aggiornare lo script bash usando un editor GNU Nano. Il codice generale è lo stesso, ma la nuova parte variabile è leggermente diversa. Abbiamo utilizzato un segno di percentuale per far sapere al sistema che i numeri menzionati di punti interrogativi rappresentano il numero di caratteri da una variabile val da rimuovere dopo questo segno di percentuale. Puoi vedere che abbiamo aggiunto 9 simboli di punto interrogativo. Ciò significa che gli ultimi 9 caratteri dalla stringa FirstWorldCountries verranno rimossi e la stringa rimanente sarà FirstWorld. Questa stringa rimanente verrà quindi salvata in una nuova variabile.

Quando abbiamo eseguito il file bash aggiornato, l'output arriva come previsto. Mostra la stringa originale della prima variabile e il valore della seconda variabile, nuova che è stata creata dalla variabile val.

Metodo 03: utilizzo di Sed

Sed è uno strumento utile ed efficace per alterare le sequenze di testo. Questo è un ambiente di sviluppo non interattivo che ti consente di lavorare con l'input di dati e di eseguire semplici trasformazioni di testo. Puoi anche usare sed per eliminare le lettere dai testi che non vuoi. Useremo una stringa di esempio e la indirizzeremo nel comando sed a scopo illustrativo. Puoi eliminare un carattere particolare da qualche tipo di stringa con sed. Quindi, abbiamo usato la semplice riga di una stringa all'interno dell'istruzione echo. Abbiamo usato sed per rimuovere la lettera A dalla stringa menzionata. Assicurati di seguire la sintassi 's/string_to_be_removed//'. L'output mostra che la lettera A è stata rimossa.

Per rimuovere l'intera parola Aqsa abbiamo menzionato il primo e l'ultimo carattere di una parola con i punti all'interno per rappresentare le lettere mancanti. L'output mostra la stringa con la rimozione della parola Aqsa.

Per rimuovere un numero qualsiasi di ultimi caratteri da una stringa, menziona il numero di punti secondo le tue esigenze prima del simbolo del dollaro come mostrato.

Metodo 04: utilizzo di Awk

Awk è un sofisticato linguaggio di scripting che può essere utilizzato per abbinare modelli ed elaborare testi. Puoi usare Awk per spostare e modificare l'input in una varietà di modi diversi. Puoi anche eliminare le lettere dalle stringhe usando awk. Awk sembra un po' diverso da sed. Questa volta abbiamo cambiato la stringa con Aqsa Yasin. La funzione awk creerà una sottostringa tramite il metodo substr e la stamperà nel terminale. La lunghezza della funzione è stata utilizzata per dimostrare il numero di lettere rimosse dalla stringa menzionata. Qui, length($0)-5 significa rimuovere gli ultimi 5 caratteri di una stringa e il resto sarà una parte di una sottostringa da stampare.

Abbiamo provato a rimuovere gli ultimi 9 caratteri da una stringa Aqsa Yasin e abbiamo ottenuto A come sottostringa di output.

Metodo 05: Utilizzo di Cut

Cut sembra essere un'utilità della riga di comando per estrarre una parte di testo da una tale frase o documento e stamparla sull'output standard. Questa operazione può essere utilizzata anche per rimuovere le lettere da qualche tipo di stringa. Useremo una frase di esempio e la passeremo all'istruzione di taglio a scopo di test. Quindi abbiamo usato la frase Aqsa Yasin e l'abbiamo passata alla query di taglio. Dopo il flag –c, abbiamo definito l'intervallo di indici per una stringa per tagliare i caratteri da una stringa menzionata. Mostrerà i caratteri dall'indice 1 all'indice 5. L'indice 5 è stato escluso qui. L'output mostra i primi 4 caratteri come Aqsa.

Questa volta useremo l'istruzione di taglio in modo diverso. Abbiamo usato la funzione rev per invertire la stringa. Dopo il rovescio di una stringa, taglieremo il primo carattere da una stringa. Il flag -c2-significa che la nostra sottostringa sarà in avanti il ​​carattere 2 . Successivamente, la funzione inversa viene nuovamente utilizzata per ripristinare la stringa. Quindi, questa volta abbiamo recuperato la stringa originale con la rimozione dell'ultimo carattere.

Per rimuovere gli ultimi 7 caratteri, devi solo menzionare -c7-nel comando taglia mentre usi anche la funzione inversa.

Conclusione:

C'è tempo più di un metodo per eseguire un'attività di base su Linux. Allo stesso modo, è possibile eliminare caratteri da un testo. Questo articolo ha dimostrato cinque metodi distinti per eliminare i caratteri indesiderati da una stringa, nonché alcune istanze. Qualunque strumento tu scelga dipende interamente dalla tua scelta e, soprattutto, da ciò che desideri ottenere.