AWK: Как уменьшить значения в столбце на один - PullRequest
2 голосов
/ 19 ноября 2010

У меня есть набор значений в столбце, которые идут

3  
4  
4  
5  
6  
7  
8  
...  

Я хочу уменьшить все эти значения на 1

Есть идеи, как сформулировать это в скрипте на AWK?

спасибо


Что если я хочу увеличить записи вместо уменьшения?

Будет awk '{$ 7--; print $ 1} 'работа?

Ответы [ 2 ]

6 голосов
/ 19 ноября 2010

Если это просто один столбец, это будет делать:

awk '{ $7--; print $0 }'

Вместо «7» в «$ 7» вам нужно вставить номер вашего столбца;если это число больше 10, запишите его как $ (77), например,

Если затронуты все столбцы строки, используйте это:

awk '{ for (f=1; f<=NF; f--) $f--
       print $0
      }'

Надеюсь, это поможет,

Klaus

0 голосов
/ 19 ноября 2010

Если они в столбце 4, $4--, а затем делать все, что вы собирались сделать (например, печатать).

...