Ubuntu + nginx, получите информацию о виртуальной машине

Несколько способов:

  1. awk

    awk '!a[$1]++' file
    

    Это очень сжатый способ написания этого:

    awk '{if(! a[$1]){print; a[$1]++}}' файла.
    

    Итак, если текущее первое поле ($1) не находится в массиве a, выведите строку и добавьте 1-ое поле к a. В следующий раз, когда мы увидим это поле, оно будет в массиве и поэтому не будет выведено.

  2. Perl

    perl -ane '$k{$F[0]}++ или print' file
    

    или

    perl -ane 'print if !$k{$F[0]}++' file
    

    Это в основном то же самое, что и awk . -n заставляет perl читать строку за строкой входной файл и применять к каждой строке скрипт, предоставленный -e. -a автоматически разделит каждую строку на пробелы и сохранит полученные поля в массиве @F. Наконец, первое поле добавляется к хэшу %k и если его еще нет, то выводится строка. То же самое можно записать как

    perl -e 'while(){
     @F=сплит(/\s+/); 
     print unless defined($k{$F[0]})); 
     $k{$F[0]}++;
     }' файл
    
  3. Coreutils

    rev файл | uniq -f 1 | rev
    

    Этот метод работает, сначала перевернув строки в файле так, что если строка равна 12 345, то теперь будет 543 21. Затем мы используем uniq -f 1, чтобы проигнорировать первое поле, то есть столбец, в котором находится 543. В файле есть поля . Использование uniq в данном случае позволяет отфильтровать все дублирующиеся строки, сохраняя только 1 из каждой. Наконец, мы возвращаем строки в исходный порядок с другим обратным.

  4. GNU сортирует (как предлагает по @StéphaneChazelas)

    сортирует -buk1,1.
    

    Флаг -b игнорирует ведущие пробелы, а -u означает, что печатаются только уникальные поля. Хитрым битом является -k1,1. Флаг -k устанавливает сортировку поля. Он принимает общий формат -k POS1[,POS2], что означает, что при сортировке следует смотреть только на поля -k через POS2. Таким образом, -k1,1 означает смотреть только на 1-ое поле. В зависимости от Ваших данных, Вы, возможно, захотите добавить одну из этих опций:

     -g, --general-numeric-sort
     сравнение по общему числовому значению
     -n, -цифровой
     сравнение по строковому числовому значению
    

1
13.08.2016, 20:29
1 ответ

Самый простой способ (если я понимаю, что вы спрашиваете), это с:

ifconfig | grep inet

и в выходе вы видите, вы можете найти свои интерфейсы для сервера IP, Web_A и Web_B

0
28.01.2020, 01:46

Теги

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