Come ottenere una sottostringa bash dopo un carattere specificato

Come ottenere una sottostringa bash dopo un carattere specificato
Nella programmazione, una stringa è una serie di caratteri, come costante precisa o una sorta di variabile. I caratteri contenuti in una stringa possono essere qualsiasi numero, cifra o carattere speciale. Le parole chiave possono essere utilizzate per ottenere una sottostringa dopo determinati caratteri e tutte le parole chiave funzionano allo stesso modo. Alcuni esempi di parole chiave includono quanto segue:
  • Taglio
  • Awk
  • Sed

Questo articolo fornisce diversi esempi per migliorare la comprensione del concetto di ottenere una sottostringa dopo un determinato personaggio.

Per seguire gli esempi forniti in questo tutorial, prima, accedi al sistema Linux e apri il terminale. Quindi, crea un nuovo file con il nome "Input.sh."

Esempio 1: usando la parola chiave tagliata

Apri il file “Input.sh "dalla home directory e scrivi il seguente codice nel file. Nel nostro primo esempio, definiremo una stringa denominata "stringa" con un certo valore in essa con alcuni caratteri e numeri. Useremo la parola chiave "taglio" in questo codice, seguita da "-d", per ottenere la sottostringa della stringa particolare. Successivamente, forniremo il carattere esatto nelle virgole invertite come "-" in modo che la sottostringa venga cercata dopo questo personaggio speciale.

Qui, è importante capire l'idea principale della formazione di sottostringi. Devi ricordare come includere la parola chiave "f" quando si utilizza il comando "taglio". La parola chiave "f" può essere utilizzata in vari modi per creare una sottostringa, quindi guardiamo questo particolare metodo.

-F2: testo dopo il primo personaggio speciale "-" e prima del successivo "-"

Ciò significa che dovrebbe visualizzare la "barra" della sottostringa perché si trova dopo il primo personaggio "-" e prima del personaggio successivo "-.

Dopo aver eseguito questo file bash, abbiamo ottenuto la "barra" di sottostringa, come ci aspettavamo.

Ora controlleremo lo stesso esempio per la parola chiave "-f2-". Aggiorna il file, come di seguito.

-F2-: Il testo che segue il primo personaggio speciale "-" Indipendentemente dal fatto che ci siano numerosi personaggi "-".

Ciò implica che mostrerà la sottostringa "bar-123" perché si trova dopo il primo "-" personaggio, indipendentemente dal fatto che esistano "-" personaggi.

Dopo aver eseguito questo file bash, abbiamo ottenuto la sottostringa "bar-123", come si trova dopo il primo "-" personaggio.

Ora prenderemo la stessa condizione, con piccole modifiche alla stringa e ai caratteri. Abbiamo definito la nuova stringa "STR" e la abbiamo assegnato un valore diverso. In questo esempio, "I" è il personaggio speciale da cercare dalla stringa originale e da questo personaggio in poi creeremo una sottostringa. In questo caso, abbiamo usato:

-F2: per creare una sottostringa segue il primo personaggio speciale "I" e prima del prossimo personaggio "I."

Ciò implica che dovrebbe visualizzare la sottostringa "Lteff = STR" perché si trova dopo il primo personaggio "I".

Quando il file viene eseguito, verrà ottenuta una sottostringa prima del prossimo "I" e dopo il primo "I."

Puoi provare questo metodo con la stessa linea di stringa, come mostrato nell'immagine seguente:

Verrà lo stesso risultato di cui sopra.

Ora useremo la parola chiave "taglio" con poca modifica alla condizione "F" in una singola riga. Useremo "F1" in questo caso per modificare il risultato della sottostringa. Stiamo usando:

-F1: per creare una sottostringa prima del primo personaggio speciale “I."

Ciò deduce che dovrebbe mostrare la sottostringa "Genf" perché si trova prima del personaggio speciale "i."

L'output di seguito è come previsto.

Qui, stiamo usando lo stesso esempio con poco cambiamento. Abbiamo usato il vecchio metodo per questo.

Il risultato di questo script è lo stesso di sopra.

Successivamente, prendendo lo stesso esempio precedente, utilizziamo la parola chiave "taglia", mentre cambiamo la parola chiave "F."Qui, useremo" F3 "per cambiare il risultato della sottostringa e stiamo usando:

-F3: per creare una sottostringa dopo il prossimo personaggio speciale “I."

Ciò indica che dovrebbe mostrare la sottostringa "ng.-01234 "perché si trova dopo il prossimo personaggio speciale" i."

Eseguimo lo stesso codice usando il comando bash. Puoi vedere il nuovo risultato di seguito:

Esempio 2: usando la parola chiave AWK

Apri il file “Input.sh ”e scrivi il codice aggiunto nel file. Qui, abbiamo dichiarato un'istruzione Echo con la stringa "Foo-Bar-123" usando la parola chiave "awk". Il termine di stampa è seguito dalla parola chiave "-f-". Questo creerà una sottostringa dopo il prossimo carattere speciale, che è "123" e stamparlo. Non è necessario definire il carattere speciale in questo caso.

Quello che segue è l'output "123" che è stato menzionato sopra.

Esempio 3: usando la parola chiave SED

In questo esempio, aggiorneremo lo stesso file con il codice fornito di seguito. In questo caso, viene utilizzata la parola chiave "sed" al posto di "taglio" o "awk."

Questo codice visualizzerà un output simile a quello dell'esempio precedente.

Esempio 4: usando caratteri speciali

Nel prossimo esempio, aggiorneremo lo stesso file con il codice fornito di seguito. Qui definiremo tre stringhe: "String", "Searchstr" e "Temp."Abbiamo" $ String%$ Searchstr* "nel codice. Il "%" cercherà il valore della variabile "Searchstr", che è "e" e rimuoverà tutto dopo questa variabile speciale dalla stringa originale. Il testo rimanente verrà salvato nella variabile “TEMP."Ora, la variabile" temp "verrà stampata, insieme al testo" Questa è una nuova stringa."

Se eseguiamo il codice sopra, la stringa originale verrà prima stampata; Quindi, la nuova sottostringa verrà stampata.

Prendendo lo stesso esempio con un piccolo aggiornamento, utilizzeremo la stringa "#*" in modo che tutto ciò che segue il valore di "SearchStr", che è "e," verrà inserito nella variabile "temp."

Quando lo controlli in bash, vedrai che la vecchia stringa stamperà prima. Successivamente, poiché "verrà rimosso" è un nuovo valore di "temp" variabile, ecco perché verrà stampato prima alla riga successiva, insieme al testo "Questa è una nuova stringa."

Conclusione

Se si desidera ottenere una sottostringa da qualsiasi stringa utilizzando un carattere speciale in essa, puoi farlo utilizzando i metodi sopra forniti.