Что такое exec

С помощью awk:

awk '{a=$0}1; END{$0=a; if($1==2099&&$2==12&&$3==30){$3=31;print}}' file | column -t
  • r=$0 установите переменную a на всю строку.
  • 1 истинное условие, что печатается вся строка
  • END{...} этот блок выполняется, когда обработаны все строки
    • $1==2099&&$2==12&&$3==30 если последняя строка была 30 декабря 2099 года (13-е число отсутствует)
    • $3=31 установите день в 31
    • print и выведите эту дополнительную строку.
  • column -t для вывода списка в столбик.

Результат с вашим входным файлом:

YEAR  MONTH  DAY  RES
2005  1      1    1000
2005  1      2    1001
...
2099  12     29   1002
2099  12     30   1003
2099  12     31   1003
-1
17.11.2018, 02:22
0 ответов

Теги

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