У меня есть несколько TXT-файлов с номерами, которые мне нужно разделить на 4. Текстовая строка, которую я сопоставляю и изменяю, такова: -
scale = 23 23
Мой маленький файл GAWK выглядит следующим образом: -
/scale [\=] [0-9]+ [0-9]+/ {
$3 = int($3/4)
$4 = int($4/4) }
{print}
Итак, я успешно получаю "scale = 5 5"
Но у меня есть еще 3 требования, и я хотел бы помочь ...
1) параметр "scale" должен быть только таким, который следует за другим соответствием, называемым "detail" в некоторых строках над ним.(поэтому вместо простого сопоставления с каждым "scale =" это будет "detail (.....) scale =") (любое число / буква / + перевод строки между ними)
2) эти значения "шкала "никогда не должна быть ниже 1. (деление чего-либо ниже 6 всегда должно давать результат 1 (просто изменив значения" scale = 0 "на" scale = 1 "после выполнения))
3) значенияжелательно округлять вверх, а не вниз.(поэтому вместо 5 здесь из 23, на самом деле это 5,75 и должно округляться до 6 (это не так важно, но было бы неплохо))