У меня есть текстовый файл с именем text
: строка и столбцы:
1 A 18 -180
2 B 19 -180
3 C 20 -150
50 D 21 -100
128 E 22 -130
140 F 23 -0
Если мы хотим перебирать строку за строкой, используя время l oop, это будет:
while read -ra a; do [[ ${a[3]} != -0 ]] && ((a[3]+=42)); echo "${a[@]}"; done < file
Вывод выглядит следующим образом:
1 A 18 -138
2 B 19 -138
3 C 20 -108
50 D 21 -58
128 E 22 -88
140 F 23 -0
То, что произошло в приведенной выше строке, добавляет 42
в каждую строку 4-го столбца, кроме случаев, когда есть 0.
Как я могу выбрать количество диапазонов столбцов, используя 1-й столбец? Например, я хочу выбрать только 2 to 50
из первого столбца, что означает, что я хочу печатать только 2nd, 3rd and 4th
столбцов. Следовательно, результат будет
2 B 19 -138
3 C 20 -108
50 D 21 -58