Для CSV-файла, который выглядит как:
variables = cl, cd, clp, clv, cdp, cdv, ...
-0.00000002, 0.01023266, -0.00000002, 0.00000000, 0.00985099, 0.00038167, ...
-0.00000000, 0.01023305, -0.00000000, 0.00000000, 0.00985080, 0.00038225,
-0.00000002, 0.01023390, -0.00000002, 0.00000000, 0.00985075, 0.00038315,
0.00000002, 0.01023482, 0.00000002, 0.00000000, 0.00985070, 0.00038412,
-0.00000004, 0.01023574, -0.00000004, 0.00000000, 0.00985065, 0.00038509,
...
У меня есть короткий скрипт для чтения значений из CSV-файла, но, как он есть, он возвращает все колонка. Мне нужно, чтобы назначить по одному значению каждой переменной.
export IFS=","
cat file.csv | while read a b c d e f; do echo "$b; done
Это возвращает:
cd
0.01023266
0.01023305
0.01023390
0.01023482
0.01023574
Как мне сделать, чтобы эта команда возвращала только:
0.01023482
Редактировать: следующая строка должна возвращать одно значение из моего файла:
row=4
col=2
str=$(awk 'BEGIN{FS=OFS=","} FNR==$row' history.out | awk '{print substr($col, 1, length($col)-1)}')
echo $str
Это работает, когда я использую $ 4, но не $ row. Какое окончательное решение? Таким образом, $ str возвращается пустым.
Заранее спасибо.