Chcę odczytać plik z danymi uporządkowanymi w kolumnie.
W skrypcie, który piszę, używam read
polecenia.
Plik wejściowy składa się z następujących wierszy:
XX:XX:XX:XX:XX PQRTS
YY:YY:YY:YY:YY ABCDE
ZZ:ZZ:ZZ:ZZ:ZZ FGHIJ
To, czego używam do czytania, to coś takiego
while read a b; do
echo $a
echo $b
done < filename.txt
Do tej pory odczytuje wiersz po wierszu i przypisuje XX:XX:XX:XX:XX
do a
i PQRTS
do b
pierwszej iteracji while
cyklu, po YY:YY:YY:YY:YY
do a
i ABCDE
do b
drugiej iteracji i tak dalej.
Teraz moje pytania to:
- Jak mogę używać
a
ib
jako zmiennych globalnych? - Chcę przypisać
XX:XX:XX:XX:XX
,YY:YY:YY:YY:YY
aby móc używać ich w różnych funkcjach.
linux
bash-scripting
srj0408
źródło
źródło
$a
do czegoś innego w pętli.Odpowiedzi:
Wygląda na to, że potrzebujesz Do tego celu możesz napisać skrypt
bash arrays
global
. Niestety nie możnaexport
ich po prostu skryć. Odman bash
dalejbash 4.3.11(1)-release
możesz czytać.echo $a
musisz odwoływać się do nich za pomocą czegoś takiego jakecho ${a[0]}
lubecho ${b[2]}
...Pamiętaj, że musisz
{}
je zabezpieczyć.źródło