чтение из файла строки мжду разделителями.

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Soldier
ст. сержант
Сообщения: 364
Зарегистрирован: 2008-10-02 9:28:30

чтение из файла строки мжду разделителями.

Непрочитанное сообщение Soldier » 2010-02-12 21:59:49

Привет всем.
Есть файл вида:
subnet1.*.*.*.asdfgh.10-5-87
subnet2.*.*.*.qwerty.10-9-20
subnet3.*.*.*.123456.10-14-20
вопрос в том как отобрать значение qwerty из второй строки без разделителя "."?

Заранее благодарен за ответ.
Tux: "Kill Bill !!!"

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: чтение из файла строки мжду разделителями.

Непрочитанное сообщение dikens3 » 2010-02-13 1:55:57

awk посмотрите, там указывается разделитель (В вашем случае это точка). Потом выберите нужное вам поле. (В вашем случае $5)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Soldier
ст. сержант
Сообщения: 364
Зарегистрирован: 2008-10-02 9:28:30

Re: чтение из файла строки мжду разделителями.

Непрочитанное сообщение Soldier » 2010-02-13 7:15:08

Нашел.
Спасибо за подсказку.

Код: Выделить всё

cat /path/to/file | grep subnet2 
subnet2.*.*.*.qwerty.10-9-20
cat /path/to/file | grep subnet2  | awk "-F." '{print $5}'
Tux: "Kill Bill !!!"

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: чтение из файла строки мжду разделителями.

Непрочитанное сообщение dikens3 » 2010-02-13 18:18:57

а теперь ещё додумайтесь использовать только awk, файл легко подключить, а вот выборку subnet2 посложнее.

Вот раскопал что-то похожее:

Код: Выделить всё

awk -F\. '/subnet2/ {print($5)}' /path/to/file
Но я бы лучше избавился от поиска subnet2 по всем полям и искал сопадение в конкретном поле $1. Должно получиться что-то типа:

Код: Выделить всё

awk -F\. '$1=="subnet2" {print($5)}' /path/to/file
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Soldier
ст. сержант
Сообщения: 364
Зарегистрирован: 2008-10-02 9:28:30

Re: чтение из файла строки мжду разделителями.

Непрочитанное сообщение Soldier » 2010-02-13 18:59:20

Спасибо за ответ. помогло
Tux: "Kill Bill !!!"