Bash код для управления l oop записями файлов - PullRequest
0 голосов
/ 17 апреля 2020

У меня очень ограниченные знания о кодировании bash.

У меня есть некоторые данные, которые хранятся в текстовом файле в следующем формате (изображение прилагается). Каждая строка содержит текст и список чисел. Каждая из записей разделена вкладкой.

Тексты из каждой строки должны go к соответствующим переменным. Для строки 1: $var_1='SomeText', $var_2='(Sometext)', $var_3='myLabel1' et c. Числа, следующие за текстами, должны рассматриваться как элементы массива. Для строки-1 Number_array = [2,0, -1, -2]

После этого я хочу сделать что-то вроде этого:

for each line:
   for i=0 to length(Number_array)-1:
     $a=Number_array[i]
     $b=Number_array[i+1]

     <Some other code>

    end inner loop
end outer loop

enter image description here

1 Ответ

1 голос
/ 17 апреля 2020

Если поля разделены табуляцией и их всегда 8, достаточно одного l oop;

cat filename.txt | while read x x x x a b c d
do 
  <some code>
done

, первые 4 поля считываются в переменную x (и игнорируются) , в то время как последние 4 поля чисел хранятся в a, b, c и d соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...