Как запустить tty из командной строки?

Это ищет целые числа в любом столбце после первого и добавляет .00 :

$ awk '{for (i=2;i<=NF;i++) if (!($i ~ /[.]/))$i=$i ".00"} 1' input
2017 47.0000 0.783333 0.2500
1663 1920.0000 32.00 8.0000

Как это работает

  • для ( i = 2; i <= NF; i ++)

    Это запускает цикл по полям, начиная со второго поля, i = 2 , и продолжая до последнего поля, i = NF .

  • if (! ($ I ~ /[.pting/))$i=$i ".00"

    Для каждого i , который мы перебираем в цикле, мы проверяем, есть ли i -е поле, $ i , содержит точку. Если это так, то ($ i ~ /[.pting/) оценивается как истина. Однако мы отрицаем этот результат: ! ($ I ~ /[.pting/) истинно, только если поле i не содержит точки , но не . Если это так, мы добавляем .00 в конец поля i .

    Этот оператор if является единственным оператором в цикле for .

  • 1

    Это загадочное сокращение awk для печати всей строки.

3
26.09.2015, 18:48
0 ответов

Теги

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