terminal command | grep IP

  • Закройте cmus,
  • Перейдите в ~/.config/cmus и удалите файл lib.pl, если он есть.

  • Затем откройте cmus

  • нажмите "5" для перехода в браузер
  • найдите корневую папку вашей музыки (для меня это ~/Music
  • нажмите "a"
  • затем нажмите "1" для перехода в библиотеку

вы должны увидеть, что вся ваша музыка импортируется.

5
14.07.2016, 19:31
6 ответов

Вот вы:

ifconfig -a | grep -e "inet [0-9]" | cut -d "" -f 2

Большинство приведенных ответов не будут работать в Mac OS X! Самое простое, что вы можете сделать, - это использовать cut или awk .

1
27.01.2020, 20:34

Что ж, если вы знаете, что ваш IP-адрес начинается с 10.16 , это тривиально:

ifconfig -a | grep -oP '\b10\.16\.[0-9.]+\b'

Или, если ваш grep не поддерживает -P или -o :

ifconfig -a | awk '/10\.16\./ && /inet/{print $2}'

В противном случае вы можете найти все строки, начинающиеся с inet , и вывести их второе поле:

ifconfig -a | awk '$1=="inet"{print $2}'

Это, однако, также вернет 127.0. 0.1 , локальный хост. Чтобы этого избежать, вы можете сделать следующее:

ifconfig -a | awk '$1=="inet" && $5=="broadcast"{print $2}'

У меня нет Mac для тестирования, но в целом ifconfig устаревает в пользу ip . Возможно, вы захотите использовать это вместо:

ip addr show | awk -F'[ /]*' '$2=="inet" && $5=="brd"{print $3}'
8
27.01.2020, 20:34

Чтобы получить весь IP-адрес в сети:

ifconfig -a | grep -oP 'inet \K\S+'

Чтобы получить только семейство 10.16:

ifconfig -a | grep -oP 'inet \K10\.16\S+'
1
27.01.2020, 20:34

Используйте ip addr show с флагом -o . Например, вот все IPv4-адреса моих подключенных интерфейсов

$ ip -4 -o addr show  | awk '{print $4}'                                                                                 
127.0.0.1/8
10.42.0.1/24
192.168.0.78/24
10.0.3.1/24

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

$ ip -4 -o addr show  | awk '/10\./{print $4}'                                                                           
10.42.0.1/24
10.0.3.1/24

Удаление нотации CIDR можно выполнить следующим образом:

$ ip -4 -o addr show  | awk '/10\./{gsub(/\//," ");print $4}'                                                            
10.42.0.1
10.0.3.1
1
27.01.2020, 20:34

Вы можете использовать perl-команду типа

perl -ne '$_=~/inet\s(\d+\.\d+\.\d+\.\d+)\s/; print $1,"\n"'

Она использует regex для поиска IP после inet и выводит его. Просто пропустите через нее ваш вывод.

Example:

ifconfig -a | grep  10.16 | perl -ne '$_=~/inet\s(\d+\.\d+\.\d+\.\d+)\s/; print $1,"\n"'
0
27.01.2020, 20:34

Проверено на Linux :Получить все IP-адреса, кроме локального хоста:

ifconfig -a | grep "inet addr:" | grep  -v "127.0.0.1" | sed -e "s#addr:##g" | awk '{print $2}'
0
27.01.2020, 20:34

Теги

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