что такое глобальная политика планирования Linux?

Логика верная, но вы допустили пару ошибок:

awk -vOFS=, -F, '{
      for(i = 1; i <=NF; i++ ){
          $i -= 1;
      }
      print;
   }' file.txt
  • getline (в том виде, в котором вы ее использовали) считывает следующая строка в $ 0 - здесь нет смысла.

  • Вам нужно указать awk на разделение ( FS или с помощью -F ) через запятую, по умолчанию он будет разделен на пробелы

  • $ 0 - это целое строка, поэтому вы хотите начать свой цикл с i = 1

  • Если вы хотите печатать запятые на выходе, вам необходимо установить OFS =, (разделитель выходных полей).

В качестве альтернативы вы можете использовать perl:

perl -ple 's{(\d+)}{$1 - 1}eg;' file.txt
2
19.11.2016, 10:14
0 ответов

Теги

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