определение количества цифр в текстовом файле

У меня есть файл данных следующим образом:

 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
0
задан 22 January 2019 в 06:42

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] игнорирование любых символов нецифры в поле.

3
ответ дан 26 October 2019 в 12:02
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' удаляет запаздывание lf
  • wc -c считает байты в результате
1
ответ дан 26 October 2019 в 12:02

Другие вопросы по тегам:

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