Utilizzando lo scripting Bash, è possibile automatizzare molte attività che comportano l'utilizzo di interscambio di file, programmi e dati senza ricorrere a un linguaggio di programmazione completo. Una delle sue caratteristiche è la matrice, utilizzata per manipolare insiemi di dati. È possibile utilizzare la variabile di separatore di campo di Input per leggere una riga separato dal simbolo pipe in una matrice di Bash.
Istruzioni
1
Immettere il codice seguente in un nuovo script di bash per salvare il separatore di campo di Input. L'IFS è controllata dalla variabile di IFS. Modificando questo valore si altera come bash divide le linee di ingresso in argomenti. Perché avete intenzione di modificare questo valore, è possibile salvare il vecchio valore.
! / bin/bash
oldIFS = $IFS
2
Aggiungere la seguente riga allo script per modificare l'IFS per il carattere pipe.
IFS = "|"
3
Digitare "leggere - un myarray" nel file di script per leggere l'input in una matrice dalla console. Quando si esegue lo script, accetterà input della console. È anche possibile utilizzare Reindirizzamento di file per leggere da un file aggiungendo "leggere - un myarray < input. txt" allo script, dove "input. txt" è il nome del vostro file di input. Se hai già i dati in una variabile, è possibile semplicemente aggiungere "myarray=($yourvariable)".
4
Aggiungere la riga seguente per ripristinare l'IFS in modo che futuri comandi funzionino come previsto.
IFS = $oldifs
5
Stipulare il seguente frammento di script per controllare i risultati. Verrà stampato un elemento della matrice per ogni riga.
per la i in $(seq 0 $((${#myarray [*]} - 1)))
fare
echo "${myarray[$i]}"
fatto