У меня есть файл данных следующим образом:
15 01 01 00 00 0.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 01 00 30.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 02 01 0.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 03 01 30.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
Я должен считать количество цифры значения в первой строке и четвертом столбце затем, я должен определить это число цифры как переменную следующим образом:
первая строка и четвертый столбец: 00
digit_number=2
Если Вы не должны на самом деле проверять, что значение является числом, можно просто проверить длину 4-го поля от 1-й записи
awk 'FNR == 1 {print length($4); exit}' file
Присваивать переменной оболочки:
digit_number=$(awk 'FNR == 1 {print length($4); exit}' file)
Если необходимо рассчитать, сколько цифр находится в поле, то Вы могли изменить команду awk к
awk 'FNR == 1 {print gsub(/[0-9]/,"",$4); exit}' file
Отметьте это gsub
возвратит количество десятичных цифр [0-9]
игнорирование любых символов нецифры в поле.
digit_number=$(head -1 {the file} | cut -d ' ' -f 4 | tr -d '\n' | wc -c)
Где:
head -1 {the file}
распечатайте первую строку файлаcut -d ' ' -f 4
берет 4-е разграниченное пространством полеtr -d '\n'
удаляет запаздывание lfwc -c
считает байты в результате