Mam plik:
@Ne1 0.0000000000000 0.0000000000000 3.5000000000000 *|Ne1 0.0000000000000 0.0000000000000 -3.5000000000000 *|Ne1 0.0000000000000 0.0000000000000 -3.5000000000000 *|Ne1 0.0000000000000 0.0000000000000 -3.5000000000000 *|
@Ne1 0.0000000000000 1.0000000000000 3.5000000000000 *|Ne1 0.0000000000000 0.0000000000000 -3.5000000000000 *|Ne1 0.0000000000000 0.0000000000000 -3.5000000000000 *|Ne1 0.0000000000000 0.0000000000000 -3.5000000000000 *|
potrzebuje w pętli przejść po wszystkich liniach(kazda linia zaczyna się od @) i w kazdej “iteracji” przejść ponownie po pętli, ale teraz względem każdego fragmentu zakonczonego |. Wygenerowałem coś takiego (test.sk):
#!/bin/bash
plik=$1.geo
echo $plik
list=`cat $plik | cut -d "@" -f 2`
for line in $list
do
par=`echo $line | cut -d "|" -f 2`
for w in $par
do
echo "$w abcde"
done
done
wywoluje to w taki oto sposób:
./test.sk ne2
niestety nie dziala to porawnie.
Po pierwsze nie wiem dlaczego w zmiennej $list siedzą nazwy pozostałych plików z katalogu oraz zawartość pliku ne2.geo
Po drugie nie wiem jak zmusić bash do tego aby nie rozdzielał zawartości wyników operacji w miejscu spacji, tylko w miejscach @ i |