Вы хотите сохранить последнее значение для l oop, которое, как мне кажется, является количеством полей, если да, попробуйте следующее.
var=$(awk -F ';' '{gsub(/[[:blank:]]/,"");for(i=1;i<=NF;i++)print $i>NR;value=NF} END{print value}' file)
Если вы хотите сохранить значение для номера последней строки (общее количество строк в Input_file), затем попробуйте следующее.
var=$(awk -F ';' '{gsub(/[[:blank:]]/,"");for(i=1;i<=NF;i++)print $i>NR;value=count++} END{print count}' Input_file)
ИЛИ, если ваш awk
поддерживает FNR
в END
блоке, просто выполните:
var=$(awk -F ';' '{gsub(/[[:blank:]]/,"");for(i=1;i<=NF;i++)print $i>NR} END{print FNR}' Input_file)
Примечание: OP не упомянул об этом, но подумал поместить его здесь, в случае, если создается слишком много файлов, будет разумно использовать команду close
в awk, чтобы закрыть их в фоновом режиме, используя close(NR)
здесь просто пример.