LINUX.ORG.RU

Помогите со скриптом на bash


0

0

Я новичек в программировании скриптов. Кто может помогите. Вот у меня есть задача, которую необходимо решить. есть текстовый файл с ip адресами пример: 10.3.23.254 10.2.22.125 10.2.22.254 10.3.23.125 Вот в этом файлике необходимо сделать удаление ip адресов вида xxx.xxx.xxx.125 и сохранить файл и далее необходимо сделать выборку из этого файла по шаблону вида xxx.xxx.xxx

Вот в принципе и всё.

Если предположить, что все адреса правильные, то например так:

sed -r -iold 's/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.125//g; s/ +/ /g' ip_addresses

man sed, man pcresyntax

naryl ★★★★★
()

выборка:

grep -oP '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' ip_addresses

man grep, man pcresyntax

naryl ★★★★★
()

Раз там только IP адреса

Удаление:
awk -F'.' '$4 != 125' ip_addresses.txt > no_125_ip_addresses.txt

Выборка:
grep '^10\.2\.22' no_125_ip_addresses.txt

А можно скомбинировать (для выборки 10.2.22):

awk -F'.' '$1 == 10 && $2 == 2 && $3 == 22 && $4 != 125' ip_addresses.txt

sdio ★★★★★
()
Ответ на: комментарий от sdio

> Раз там только IP адреса

В связи с этим возникает три вопроса:
1. Есть ли в файле что-то ещё, кроме ip-адресов
2. Как адреса записаны. По штуке на строку, все в одну строку или как попало?
3. Что понимается под выборкой? Вывести все адреса, у которых первые три октета соответствуют заданным?

naryl ★★★★★
()
Ответ на: комментарий от naryl

А чего ты меня об этом спрашиваешь?

sdio ★★★★★
()
Ответ на: комментарий от naryl

Там только ip адреса Адреса записаны по штуке на строку под выборкой - построчная выборка адресов с отбрасыванием 4-го октета

anonymous
()
Ответ на: комментарий от anonymous

Это не для учебы, я программист на php с которым вроде все просто и понятно. а вот встала задача и её необходимо решить. а к сожалению в bash я не силен

anonymous
()
Ответ на: комментарий от anonymous

>построчная выборка адресов с отбрасыванием 4-го октета

cut -d'.' -f1-3 ip_addresses.txt

sdio ★★★★★
()
Ответ на: комментарий от anonymous

> Там только ip адреса Адреса записаны по штуке на строку

Тогда делай как sdio говорит.

naryl ★★★★★
()
Ответ на: комментарий от anonymous

> я программист на php

Какой ты, нафиг, программист если не можешь почитать доки и разобраться в баше? Быдлокодер ты позорный.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.