Учитывая вывод git ... --stat
:
3 files changed, 72 insertions(+), 21 deletions(-)
3 files changed, 27 insertions(+), 4 deletions(-)
4 files changed, 164 insertions(+), 0 deletions(-)
9 files changed, 395 insertions(+), 0 deletions(-)
1 files changed, 3 insertions(+), 2 deletions(-)
1 files changed, 1 insertions(+), 1 deletions(-)
2 files changed, 57 insertions(+), 0 deletions(-)
10 files changed, 189 insertions(+), 230 deletions(-)
3 files changed, 111 insertions(+), 0 deletions(-)
8 files changed, 61 insertions(+), 80 deletions(-)
Я хотел получить сумму числовых столбцов, но сохранить форматирование строки. В целях общности я создал скрипт awk, который автоматически суммирует любые числовые столбцы и выдает итоговую строку:
{
for (i = 1; i <= NF; ++i) {
if ($i + 0 != 0) {
numeric[i] = 1;
total[i] += $i;
}
}
}
END {
# re-use non-numeric columns of last line
for (i = 1; i <= NF; ++i) {
if (numeric[i])
$i = total[i]
}
print
}
Выход:
44 files changed, 1080 insertions(+), 338 deletions(-)
Awkимеет несколько функций, которые упрощают задачу, таких как автоматическое преобразование строк-> чисел, все массивы как ассоциативные массивы, а также возможность перезаписывать автоматически разделенные позиционные параметры и затем печатать эквивалентные строки.
Есть ли лучший языкза этот взлом?