sed

Модератор: Taifun

Ответить
FenX
Сообщения: 52
Зарегистрирован: Вт, 12 окт 2004 10:00:32

sed

Сообщение FenX »

Помогите, нужно убрать последний октет из ip.
Аватара пользователя
BATMEN
Сообщения: 7786
Зарегистрирован: Вс, 05 дек 2004 20:05:20
Откуда: :ɐдʎʞɯО
Контактная информация:

Сообщение BATMEN »

ЧТо??
Аватара пользователя
Jigit
Сообщения: 13294
Зарегистрирован: Вт, 11 июл 2006 08:19:55

Сообщение Jigit »

очень надолго задумался над этой проблемой..............
Аватара пользователя
Vik
Сообщения: 3104
Зарегистрирован: Чт, 03 мар 2005 17:25:21

Сообщение Vik »

не осилил написанное :lol:
Skyzil: гуглите на ютубе кто не в теме=)
FenX
Сообщения: 52
Зарегистрирован: Вт, 12 окт 2004 10:00:32

Сообщение FenX »

Vik писал(а):не осилил написанное :lol:
да...

192.168.1.1 - ip?

192 и 168 и 1 и 1 - это октеты. (от слова "четыре")

требуется с помощью команды sed и регулярного выражения убрать последний октет т.е. результат 192.168.1.

PS пишем в GNU bash, version 3.2.25(1)-release-(x86_64-redhat-linux-gnu)
Аватара пользователя
Vik
Сообщения: 3104
Зарегистрирован: Чт, 03 мар 2005 17:25:21

Сообщение Vik »

FenX писал(а):
Vik писал(а):не осилил написанное :lol:
да...

192.168.1.1 - ip?

192 и 168 и 1 и 1 - это октеты. (от слова "четыре")

требуется с помощью команды sed и регулярного выражения убрать последний октет т.е. результат 192.168.1.

PS пишем в GNU bash, version 3.2.25(1)-release-(x86_64-redhat-linux-gnu)
ну вот почему граждане нашей страны, то что нужно сказать в первом посте говорят это в лучшем случаи во втором , а в худшем ....
Потому что формат команды не правильный .
Sed -- это неинтерактивный строчный редактор. Он принимает текст либо с устройства stdin, либо из текстового файла, выполняет некоторые операции над строками и затем выводит результат на устройство stdout или в файл. Как правило, в сценариях, sed используется в конвейерной обработке данных, совместно с другими командами и утилитами.

Sed определяет, по заданному адресному пространству, над какими строками следует выполнить операции. [1] Адресное пространство строк задается либо их порядковыми номерами, либо шаблоном. Например, команда 3d заставит sed удалить третью строку, а команда /windows/d означает, что все строки, содержащие "windows", должны быть удалены.

Из всего разнообразия операций, мы остановимся на трех, используемых наиболее часто. Это p -- печать (на stdout), d -- удаление и s -- замена.
Skyzil: гуглите на ютубе кто не в теме=)
FenX
Сообщения: 52
Зарегистрирован: Вт, 12 окт 2004 10:00:32

Сообщение FenX »

Vik писал(а):
FenX писал(а):
Vik писал(а):не осилил написанное :lol:
да...

192.168.1.1 - ip?

192 и 168 и 1 и 1 - это октеты. (от слова "четыре")

требуется с помощью команды sed и регулярного выражения убрать последний октет т.е. результат 192.168.1.

PS пишем в GNU bash, version 3.2.25(1)-release-(x86_64-redhat-linux-gnu)
ну вот почему граждане нашей страны, то что нужно сказать в первом посте говорят это в лучшем случаи во втором , а в худшем ....
Потому что формат команды не правильный .
Sed -- это неинтерактивный строчный редактор. Он принимает текст либо с устройства stdin, либо из текстового файла, выполняет некоторые операции над строками и затем выводит результат на устройство stdout или в файл. Как правило, в сценариях, sed используется в конвейерной обработке данных, совместно с другими командами и утилитами.

Sed определяет, по заданному адресному пространству, над какими строками следует выполнить операции. [1] Адресное пространство строк задается либо их порядковыми номерами, либо шаблоном. Например, команда 3d заставит sed удалить третью строку, а команда /windows/d означает, что все строки, содержащие "windows", должны быть удалены.

Из всего разнообразия операций, мы остановимся на трех, используемых наиболее часто. Это p -- печать (на stdout), d -- удаление и s -- замена.

спасибо за повторение манов про sed.

и так полные условия

1) НАПЕЧАТАТЬ все что до последней точки.
или
2) УДАЛИТЬ все что после последней точки.

и sed это вполне может примеры разбора заголовков email находил массу, вот только регулярное выражение переделать с них все равно немогу.

вот например много примеров http://archiv.kiev1.org/page-687.html
Аватара пользователя
Vik
Сообщения: 3104
Зарегистрирован: Чт, 03 мар 2005 17:25:21

Сообщение Vik »

емае если ты выкурил уже все маны . Может все таки текс твоей клинописи уже в студию покажешь ? а так разговор вообще не очем .
Вот не ужели после стальки постов ты все еще не понял , что мы живем не у тебя в голове . Вот ты пишешь сценарий на языке awk откуда мы все тут знаем чего ты там понаписал и где у тебя чего не работает ? Я так понял ты взял готовый пример и пытаешься его изменить под свои нужды .

Вот скажи как тебе помочь если ты ничего толком не рассказываешь .

Вот я тебе вопрос задам такой : У меня ядро не собирается выдает ошибку . Никто не знает в чем грабли ? И что ты мне ответишь ?
1. Лог в студию
2. а дальше исходя из лога .

Могу натолкнуть на мысль . Сбрасываешь все в файл и сидом отрабатываешь файл и подменяешь 192.168.1.1 на 192.168.1.
Skyzil: гуглите на ютубе кто не в теме=)
FenX
Сообщения: 52
Зарегистрирован: Вт, 12 окт 2004 10:00:32

Сообщение FenX »

Vik писал(а):емае если ты выкурил уже все маны . Может все таки текс твоей клинописи уже в студию покажешь ? а так разговор вообще не очем .
Вот не ужели после стальки постов ты все еще не понял , что мы живем не у тебя в голове . Вот ты пишешь сценарий на языке awk откуда мы все тут знаем чего ты там понаписал и где у тебя чего не работает ? Я так понял ты взял готовый пример и пытаешься его изменить под свои нужды .

Вот скажи как тебе помочь если ты ничего толком не рассказываешь .

Вот я тебе вопрос задам такой : У меня ядро не собирается выдает ошибку . Никто не знает в чем грабли ? И что ты мне ответишь ?
1. Лог в студию
2. а дальше исходя из лога .

Могу натолкнуть на мысль . Сбрасываешь все в файл и сидом отрабатываешь файл и подменяешь 192.168.1.1 на 192.168.1.
не спортивно. хочется простой и лаконичный код в одну строку.

проще тогда цикл написать и просматривая строку с конца отрезать по символу пока не наткнусь на точку...

PS полную задачу могу в личке обрисовать.
Аватара пользователя
Vik
Сообщения: 3104
Зарегистрирован: Чт, 03 мар 2005 17:25:21

Сообщение Vik »

FenX писал(а):
Vik писал(а):емае если ты выкурил уже все маны . Может все таки текс твоей клинописи уже в студию покажешь ? а так разговор вообще не очем .
Вот не ужели после стальки постов ты все еще не понял , что мы живем не у тебя в голове . Вот ты пишешь сценарий на языке awk откуда мы все тут знаем чего ты там понаписал и где у тебя чего не работает ? Я так понял ты взял готовый пример и пытаешься его изменить под свои нужды .

Вот скажи как тебе помочь если ты ничего толком не рассказываешь .

Вот я тебе вопрос задам такой : У меня ядро не собирается выдает ошибку . Никто не знает в чем грабли ? И что ты мне ответишь ?
1. Лог в студию
2. а дальше исходя из лога .

Могу натолкнуть на мысль . Сбрасываешь все в файл и сидом отрабатываешь файл и подменяешь 192.168.1.1 на 192.168.1.
не спортивно. хочется простой и лаконичный код в одну строку.
:lol: до слез . Программисту скучно и он хочет пообщаться .
Так вот для начало делаешь чтобы работало, а уж потом вылизывание кода программы до 1 строки .
Skyzil: гуглите на ютубе кто не в теме=)
FenX
Сообщения: 52
Зарегистрирован: Вт, 12 окт 2004 10:00:32

Сообщение FenX »

Vik писал(а):
FenX писал(а):
Vik писал(а):емае если ты выкурил уже все маны . Может все таки текс твоей клинописи уже в студию покажешь ? а так разговор вообще не очем .
Вот не ужели после стальки постов ты все еще не понял , что мы живем не у тебя в голове . Вот ты пишешь сценарий на языке awk откуда мы все тут знаем чего ты там понаписал и где у тебя чего не работает ? Я так понял ты взял готовый пример и пытаешься его изменить под свои нужды .

Вот скажи как тебе помочь если ты ничего толком не рассказываешь .

Вот я тебе вопрос задам такой : У меня ядро не собирается выдает ошибку . Никто не знает в чем грабли ? И что ты мне ответишь ?
1. Лог в студию
2. а дальше исходя из лога .

Могу натолкнуть на мысль . Сбрасываешь все в файл и сидом отрабатываешь файл и подменяешь 192.168.1.1 на 192.168.1.
не спортивно. хочется простой и лаконичный код в одну строку.
:lol: до слез . Программисту скучно и он хочет пообщаться .
Так вот для начало делаешь чтобы работало, а уж потом вылизывание кода программы до 1 строки .
далеко нескучно, при моей работе не заскучаешь, чтобы работало я сделал, но это неправильно, можно и grep "свой" написать только, для чего? если есть мысль как это сделать регулярными выражениями выслушаю и поблагодарю за огромную науку.

sed'ом я обычно делал именно "тупые" замены (как ты процитировал), и хочу разобраться на что он способен раз и навсегда.
Аватара пользователя
Vik
Сообщения: 3104
Зарегистрирован: Чт, 03 мар 2005 17:25:21

Сообщение Vik »

я не слишком силен : но попробуй

sed -e 's/какой заменить /на какой заменить /g' входящий файл > выходящий файл

или так : откуда берешь | sed -e 's/какой заменить /на какой заменить /g' > в файл
Skyzil: гуглите на ютубе кто не в теме=)
FenX
Сообщения: 52
Зарегистрирован: Вт, 12 окт 2004 10:00:32

Сообщение FenX »

Vik писал(а):я не слишком силен : но попробуй

sed -e 's/какой заменить /на какой заменить /g' входящий файл > выходящий файл

или так : откуда берешь | sed -e 's/какой заменить /на какой заменить /g' > в файл
нето.
ip адрес может быть любой, (поэтому нет постоянной величины которую можно заменить на пустоту и кол-во цифр в последнем октете разное) и у каждого надо удалять последний октет,
поэтому привязка получается только по последней точке.

примеры:
10.0.111.5 -> 10.0.111.
194.150.136.66 -> 194.150.136.
1.2.3.4 -> 1.2.3.
Аватара пользователя
Vik
Сообщения: 3104
Зарегистрирован: Чт, 03 мар 2005 17:25:21

Сообщение Vik »

FenX писал(а):
Vik писал(а):я не слишком силен : но попробуй

sed -e 's/какой заменить /на какой заменить /g' входящий файл > выходящий файл

или так : откуда берешь | sed -e 's/какой заменить /на какой заменить /g' > в файл
нето.
ip адрес может быть любой, (поэтому нет постоянной величины которую можно заменить на пустоту и кол-во цифр в последнем октете разное) и у каждого надо удалять последний октет,
поэтому привязка получается только по последней точке.

примеры:
10.0.111.5 -> 10.0.111.
194.150.136.66 -> 194.150.136.
1.2.3.4 -> 1.2.3.
ну тогда в кавычки подставь выражение удалять после 3 точки в строке ключик d(Удалить заданную область шаблона )

можно копировать в буфер удержания все что до 3 точки потом очищать строку и вставлять из буфера удержания .

http://viaprog.lic1.vsi.ru/it/books/html/sed.html#3 тут почитай
Skyzil: гуглите на ютубе кто не в теме=)
FenX
Сообщения: 52
Зарегистрирован: Вт, 12 окт 2004 10:00:32

Сообщение FenX »

Vik писал(а): ну тогда в кавычки подставь выражение удалять после 3 точки в строке ключик d(Удалить заданную область шаблона )
мозг выпал в корку.

я действительно прошу ПРОСТО помощи. кое что уже понял, но желание разбираться уже пропадает. сможешь дать готовое выражение?
Аватара пользователя
Vik
Сообщения: 3104
Зарегистрирован: Чт, 03 мар 2005 17:25:21

Сообщение Vik »

FenX писал(а):
Vik писал(а): ну тогда в кавычки подставь выражение удалять после 3 точки в строке ключик d(Удалить заданную область шаблона )
мозг выпал в корку.

я действительно прошу ПРОСТО помощи. кое что уже понял, но желание разбираться уже пропадает. сможешь дать готовое выражение?
FenX писал(а): хочу разобраться на что он способен раз и навсегда.
или все желание пропало ?
Последний раз редактировалось Vik Вт, 19 авг 2008 00:03:16, всего редактировалось 1 раз.
Skyzil: гуглите на ютубе кто не в теме=)
FenX
Сообщения: 52
Зарегистрирован: Вт, 12 окт 2004 10:00:32

Сообщение FenX »

Vik писал(а):
FenX писал(а):
Vik писал(а): ну тогда в кавычки подставь выражение удалять после 3 точки в строке ключик d(Удалить заданную область шаблона )
мозг выпал в корку.

я действительно прошу ПРОСТО помощи. кое что уже понял, но желание разбираться уже пропадает. сможешь дать готовое выражение?
FenX писал(а): хочу разобраться на что он способен раз и навсегда.
:lol:
отрицание отрицания. похоже всю жизь буду переписывать уже написанное.
Аватара пользователя
Vik
Сообщения: 3104
Зарегистрирован: Чт, 03 мар 2005 17:25:21

Сообщение Vik »

FenX писал(а):
Vik писал(а):
FenX писал(а): мозг выпал в корку.

я действительно прошу ПРОСТО помощи. кое что уже понял, но желание разбираться уже пропадает. сможешь дать готовое выражение?
FenX писал(а): хочу разобраться на что он способен раз и навсегда.
:lol:
отрицание отрицания. похоже всю жизь буду переписывать уже написанное.
такова судьба программиста , он как художник до самой смерти рисует джоконду.
Skyzil: гуглите на ютубе кто не в теме=)
FenX
Сообщения: 52
Зарегистрирован: Вт, 12 окт 2004 10:00:32

Сообщение FenX »

Vik писал(а):
FenX писал(а):
Vik писал(а): :lol:
отрицание отрицания. похоже всю жизь буду переписывать уже написанное.
такова судьба программиста , он как художник до самой смерти рисует джоконду.
программист это последние во мне (и уже давно). Сисадмин я.
Аватара пользователя
ChesteR
Сообщения: 1716
Зарегистрирован: Вс, 11 май 2003 18:05:19
Откуда: д.Бийск
Контактная информация:

Сообщение ChesteR »

FenX писал(а):программист это последние во мне (и уже давно). Сисадмин я.
Особенно хорошо быть сис админом когда ПО московское...легче самому дописать, чем звонить туда...и доебывать их каждый день в течении месяца чтобы они пару строк в коде изменили...уже месяца 3 немогут АТ-мегапрограмматор заставить работать на эмулированном лпт порте...
Банкир...
Системный администратор, инженер-программист
Ответить

Вернуться в «Операционные системы»