Come estrarre parte di una stringa usando comandi Bash Cut e Spalato

Come estrarre parte di una stringa usando comandi Bash Cut e Spalato
Durante la programmazione, ci sono spesso quando dobbiamo estrarre una parte specifica di una stringa da un testo più grande. Questo può essere fatto utilizzando varie tecniche e strumenti e uno dei metodi più popolari è l'uso di comandi bash/taglio/divisione in Linux/UNIX.

Questi comandi sono potenti e versatili e possono essere utilizzati per estrarre parti specifiche di una stringa basata su vari delimitatori come spazi, virgole e punti e virgole. Questo articolo esplorerà come estrarre parti di una stringa usando comandi bash/taglio/divisione e fornirà esempi pratici per aiutarti a capire meglio come usarli in modo efficace.

Il comando taglio

Il comando Cut viene utilizzato per estrarre sezioni da ciascuna riga di un file o stringa. È un comando semplice e potente che può estrarre campi basati su un delimitatore o un carattere specifico. La sintassi per il comando Cut è la seguente:

Cut -d [delimitatore] -f [campo] [nome file]

Qui, l'opzione -D specifica il delimitatore utilizzato nel file di input e l'opzione -f specifica i campi da estrarre. L'argomento fileName è il file di input da elaborare. Ad esempio, supponiamo di avere un file chiamato testfile.txt, con i seguenti contenuti:

BMW, M5
Lexus, LS470
Volvo, x70

Se vogliamo estrarre il secondo campo da ogni riga, possiamo usare il seguente script di shell:

#!/Bin/Bash
Cat Testfile.TXT
echo "Ecco la parte estratta:"
taglio -d ',' -f 2 testfile.TXT

Di seguito è riportato l'output del codice sopra dato che visualizza il file e la sua parte estratta:

Il comando diviso

Il comando diviso viene utilizzato per dividere una stringa in una matrice di sottostringi in base a un delimitatore. È un comando incorporato in bash che può essere utilizzato per estrarre parte di una stringa. La sintassi per il comando diviso è la seguente:

Ifs = [delimitatore] leggi -ra [Array_name] <<< "$[string]"

Qui, la variabile IFS specifica il delimitatore utilizzato nella stringa, il comando di lettura legge l'input e lo divide in un array e il <<< operator is used to pass the string as input.

Ad esempio, supponiamo di avere una stringa chiamata "BMW, M5". Se vogliamo estrarre il secondo campo, possiamo usare il seguente script bash:

#!/Bin/Bash
Cat Testfile.TXT
echo "Ecco la parte estratta:"
Ifs = ',' leggi i campi -ra <<< "BMW,M5"
echo $ Fields [1]

Il comando Bash Split può anche essere utilizzato per estrarre più campi da una stringa utilizzando più variabili nel comando di lettura.

Conclusione

Bash fornisce diversi metodi per estrarre una parte di una stringa, inclusi i comandi Cut and Slip. Il comando taglio può essere utilizzato per estrarre campi in base a un delimitatore o un carattere specifico, mentre il comando diviso può essere utilizzato per dividere una stringa in un array di substrings basato su un delimitatore. Comprendere come estrarre parte di una stringa è un'abilità importante per chiunque lavori con gli script bash.