Показать статистику
0 голосов
от (4.6тыс. баллов)

Имеется текстовый файл с адресами и портами: 

10.10.10.160:1111
10.10.10.170:2222
10.10.10.180:3333

Стоит задача напечатать только вторую строку из этого файла. Я пробую так: 

grep -m 1 -o '.*' filename | cut -d ':' -f

И получаю не то что мне надо: 

10.10.10.160
10.10.10.170

Мне нужно напечатать только строку вторую строку:

10.10.10.170

Как это сделать? 

178 просмотров 1 ответов

1 Ответ

0 голосов
от (17.4тыс. баллов)

Могу предложить несколько вариантов. Все работают, выбирайте любой:

grep -m 2 -o '.*' filename | cut -d ':' -f 1 | tail -n 1

С использованием языка AWK

awk -F: 'NR==2 {print $1}' filename

И вот вариант с потоковым редактором sed: 

sed -n '2s/:.*//p' filename
...