Вы не можете использовать такой цикл for. Попробуйте что-нибудь вроде:
awk '$2==100{print 1,$1,$1+500; exit}' OFS='\t' file
Вы можете использовать Bash
Расширение параметров $ {Параметр: смещение: длина}
Форма с массивом:
$ array=($(seq 20))
$ printf "%s " "${a[@]: -12}"
9 10 11 12 13 14 15 16 17 18 19 20
Основываясь на дополнительной информации, полученной из различных комментариев, я думаю, все, что вам нужно - это этот код:
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
.