Распечатайте предпоследний столбец/поле в awk

Я хочу распечатать предпоследний столбец или поле в awk. Количество полей является переменным. Я знаю, что должен смочь использовать $NF но не уверенный, как это может использоваться.

И это, кажется, не работает:

awk ' { print ( $NF-- )  } '
157
задан codeforester 3 March 2017 в 02:00
поделиться

2 ответа

awk '{print $(NF-1)}'

должны работать

264
ответ дан 23 November 2019 в 21:45
поделиться

Возможно, вам не понравится мой ответ:

Не используйте собственные файлы cookie, а храните данные в сеансах сервера. Таким образом, вам нужен только один cookie (для ссылки на идентификатор сеанса) и то, как вы называете, что не играет никакой роли.

-121--774206-

Внутренние классы действительно не могут быть созданы без предварительного создания родительского класса. Он не может существовать вне родительского класса. При отражении необходимо передать экземпляр родительского класса. Вложенные классы являются статическими и могут использоваться независимо от родительского класса, таким образом, также при отражении.

Вот SSCCE , который демонстрирует все вещи.

package mypackage;

import java.lang.reflect.Modifier;

public class Parent {

    public static class Nested {
        public Nested() {
            System.out.println("Nested constructed");
        }
    }

    public class Inner {
        public Inner() {
            System.out.println("Inner constructed");
        }
    }

    public static void main(String... args) throws Exception {
        // Construct nested class the normal way:
        Nested nested = new Nested();

        // Construct inner class the normal way:
        Inner inner = new Parent().new Inner();

        // Construct nested class by reflection:
        Class.forName("mypackage.Parent$Nested").newInstance();

        // Construct inner class by reflection:
        Object parent = Class.forName("mypackage.Parent").newInstance();
        for (Class<?> cls : parent.getClass().getDeclaredClasses()) {
            if (!Modifier.isStatic(cls.getModifiers())) {
                // This is an inner class. Pass the parent class in.
                cls.getDeclaredConstructor(new Class[] { parent.getClass() }).newInstance(new Object[] { parent });
            } else {
                // This is a nested class. You can also use it here as follows:
                cls.getDeclaredConstructor(new Class[] {}).newInstance(new Object[] {});
            }
        }
    }
}

Это должно дать

Nested constructed
Inner constructed
Nested constructed
Inner constructed
Nested constructed
-121--1294909-
awk ' { print ( $(NF-1) ) }' file
9
ответ дан 23 November 2019 в 21:45
поделиться
Другие вопросы по тегам:

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