GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare la lunghezza della corda in Bash [Suggerimento rapido]

Se hai a che fare con stringhe in bash, potresti aver bisogno di conoscere la lunghezza della stringa.

Per fortuna, ottenere la lunghezza della stringa in bash è semplicissimo. Supponiamo che tu abbia una stringa denominata my_string . La sua lunghezza può essere estratta come:

${#my_string}

Ecco un esempio per spiegare meglio le cose:

[email protected]:~$ my_string="abhishek"
[email protected]:~$ echo "length is ${#my_string}"
length is 8

È stato facile, vero? Puoi salvare questa lunghezza della stringa in un'altra variabile e usarla in seguito:

[email protected]:~$ my_string="abhishek"
[email protected]:~$ length=${#my_string}
[email protected]:~$ echo "String length is $length"
String length is 8

Come la maggior parte delle altre cose in Linux, questo non è l'unico modo per calcolare la lunghezza delle stringhe in Bash.

Ottieni la lunghezza della stringa in bash usando il comando expr

Vediamo alcuni altri comandi che potrebbero aiutarti a testare la lunghezza della stringa in bash.

Uno di questi comandi è il comando expr. Ha diverse opzioni utili per le opzioni di stringa. Tra questi, length ti dà la lunghezza di una stringa.

[email protected]:~$ expr length "my string"
9

Poiché il comando expr restituisce la lunghezza, dovresti memorizzarla in una variabile usando la sostituzione del comando.

#!/bin/bash

str="my string"
length=$(expr length "$str")
echo "Length of my string is $length"

Ora, se esegui questo script della shell bash, stamperà la lunghezza:

[email protected]:~$ bash string.sh 
Length of my string is 9

Usa awk per ottenere la lunghezza della stringa

AWK è un comando super versatile per la modifica del testo nella riga di comando di Linux. Puoi usarlo anche per calcolare la lunghezza della stringa.

Dovrai usare il comando echo e quindi utilizzare il reindirizzamento della pipe per analizzarlo con awk:

[email protected]:~$ echo "my string" | awk '{print length}'
9

Come puoi vedere, a meno che tu non abbia familiarità con le basi dei comandi awk, non è facile ricordare la sintassi.

Utilizzo del comando wc per calcolare la lunghezza della stringa

Un altro modo per ottenere la lunghezza della stringa in Linux è usare il comando wc. Ora il comando wc viene utilizzato per contare il numero di righe, caratteri in un file.

Puoi fare eco alla stringa e reindirizzarla al comando wc. Il -m l'opzione fornisce il conteggio dei caratteri.

[email protected]:~$ echo -n "my string" | wc -m
9

Notare il -n opzione con il comando echo? Questo è importante perché echo aggiunge automaticamente un nuovo carattere di riga \n alla fine e aumenterà di uno la lunghezza della corda. Con -n opzione, il comando echo non aggiunge un nuovo carattere di riga.

Puoi usare la sostituzione dei comandi per memorizzare la lunghezza della stringa in una variabile come hai visto negli esempi precedenti.

#!/bin/bash

str="my string"
length=$(echo -n "my string" | wc -m)
echo "Length of my string is $length"

Personalmente, ${#string} è il mio modo preferito per ottenere la lunghezza delle stringhe. Più facile da ricordare.

E tu? Quale metodo preferisci?


Linux
  1. Come fare "testa" e "coda" sull'input delimitato da null in Bash?

  2. Come leggere i nodi in Kubernetes [Suggerimento rapido per K8]

  3. Come verificare se la stringa contiene una sottostringa in Bash

  4. Esempi di manipolazione di stringhe Bash:lunghezza, sottostringa, trova e sostituisci

  5. Come gzippare tutti i file in tutte le sottodirectory in bash

Come verificare se una stringa contiene una sottostringa in Bash

Come trovare una stringa in un file su Linux

Come trovare l'ID di processo di un programma e ucciderlo [Suggerimento rapido]

Come aggiungere nuovi pennelli in GIMP [Suggerimento rapido]

Come ritagliare le immagini in GIMP [Suggerimento rapido]

Come aggiungere una directory a PATH in Linux [Suggerimento rapido]