Как распечатать аргументы от известного элемента до неизвестного элемента массива с Bash

Вы не можете использовать такой цикл for. Попробуйте что-нибудь вроде:

awk '$2==100{print 1,$1,$1+500; exit}' OFS='\t' file
1
27.04.2015, 09:00
2 ответа

Вы можете использовать Bash Расширение параметров $ {Параметр: смещение: длина} Форма с массивом:

$ array=($(seq 20))
$ printf "%s " "${a[@]: -12}"
9 10 11 12 13 14 15 16 17 18 19 20
1
27.01.2020, 23:50

Основываясь на дополнительной информации, полученной из различных комментариев, я думаю, все, что вам нужно - это этот код:

while IFS=, read timestamp x x x container x x x x scan_id x part_no direction rest
do
   # compose SQL command using "${timestamp}" "${container}" ... "${direction}" "${rest}" and send it to mysql database
done < "${out_file_name}"

Примечание: x в команде чтения представляют собой подставные поля, которые будут пропущены (и которым не присвоен собственный уникальный идентификатор), а переменная rest содержит все поля в одной переменной, помимо тех, которые явно перечислены в списке аргументов read.

0
27.01.2020, 23:50

Теги

Похожие вопросы