sed
Модератор: Taifun
sed
Помогите, нужно убрать последний октет из ip.
ну вот почему граждане нашей страны, то что нужно сказать в первом посте говорят это в лучшем случаи во втором , а в худшем ....FenX писал(а):да...Vik писал(а):не осилил написанное
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: гуглите на ютубе кто не в теме=)
Vik писал(а):ну вот почему граждане нашей страны, то что нужно сказать в первом посте говорят это в лучшем случаи во втором , а в худшем ....FenX писал(а):да...Vik писал(а):не осилил написанное
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
емае если ты выкурил уже все маны . Может все таки текс твоей клинописи уже в студию покажешь ? а так разговор вообще не очем .
Вот не ужели после стальки постов ты все еще не понял , что мы живем не у тебя в голове . Вот ты пишешь сценарий на языке awk откуда мы все тут знаем чего ты там понаписал и где у тебя чего не работает ? Я так понял ты взял готовый пример и пытаешься его изменить под свои нужды .
Вот скажи как тебе помочь если ты ничего толком не рассказываешь .
Вот я тебе вопрос задам такой : У меня ядро не собирается выдает ошибку . Никто не знает в чем грабли ? И что ты мне ответишь ?
1. Лог в студию
2. а дальше исходя из лога .
Могу натолкнуть на мысль . Сбрасываешь все в файл и сидом отрабатываешь файл и подменяешь 192.168.1.1 на 192.168.1.
Вот не ужели после стальки постов ты все еще не понял , что мы живем не у тебя в голове . Вот ты пишешь сценарий на языке awk откуда мы все тут знаем чего ты там понаписал и где у тебя чего не работает ? Я так понял ты взял готовый пример и пытаешься его изменить под свои нужды .
Вот скажи как тебе помочь если ты ничего толком не рассказываешь .
Вот я тебе вопрос задам такой : У меня ядро не собирается выдает ошибку . Никто не знает в чем грабли ? И что ты мне ответишь ?
1. Лог в студию
2. а дальше исходя из лога .
Могу натолкнуть на мысль . Сбрасываешь все в файл и сидом отрабатываешь файл и подменяешь 192.168.1.1 на 192.168.1.
Skyzil: гуглите на ютубе кто не в теме=)
не спортивно. хочется простой и лаконичный код в одну строку.Vik писал(а):емае если ты выкурил уже все маны . Может все таки текс твоей клинописи уже в студию покажешь ? а так разговор вообще не очем .
Вот не ужели после стальки постов ты все еще не понял , что мы живем не у тебя в голове . Вот ты пишешь сценарий на языке awk откуда мы все тут знаем чего ты там понаписал и где у тебя чего не работает ? Я так понял ты взял готовый пример и пытаешься его изменить под свои нужды .
Вот скажи как тебе помочь если ты ничего толком не рассказываешь .
Вот я тебе вопрос задам такой : У меня ядро не собирается выдает ошибку . Никто не знает в чем грабли ? И что ты мне ответишь ?
1. Лог в студию
2. а дальше исходя из лога .
Могу натолкнуть на мысль . Сбрасываешь все в файл и сидом отрабатываешь файл и подменяешь 192.168.1.1 на 192.168.1.
проще тогда цикл написать и просматривая строку с конца отрезать по символу пока не наткнусь на точку...
PS полную задачу могу в личке обрисовать.
до слез . Программисту скучно и он хочет пообщаться .FenX писал(а):не спортивно. хочется простой и лаконичный код в одну строку.Vik писал(а):емае если ты выкурил уже все маны . Может все таки текс твоей клинописи уже в студию покажешь ? а так разговор вообще не очем .
Вот не ужели после стальки постов ты все еще не понял , что мы живем не у тебя в голове . Вот ты пишешь сценарий на языке awk откуда мы все тут знаем чего ты там понаписал и где у тебя чего не работает ? Я так понял ты взял готовый пример и пытаешься его изменить под свои нужды .
Вот скажи как тебе помочь если ты ничего толком не рассказываешь .
Вот я тебе вопрос задам такой : У меня ядро не собирается выдает ошибку . Никто не знает в чем грабли ? И что ты мне ответишь ?
1. Лог в студию
2. а дальше исходя из лога .
Могу натолкнуть на мысль . Сбрасываешь все в файл и сидом отрабатываешь файл и подменяешь 192.168.1.1 на 192.168.1.
Так вот для начало делаешь чтобы работало, а уж потом вылизывание кода программы до 1 строки .
Skyzil: гуглите на ютубе кто не в теме=)
далеко нескучно, при моей работе не заскучаешь, чтобы работало я сделал, но это неправильно, можно и grep "свой" написать только, для чего? если есть мысль как это сделать регулярными выражениями выслушаю и поблагодарю за огромную науку.Vik писал(а):до слез . Программисту скучно и он хочет пообщаться .FenX писал(а):не спортивно. хочется простой и лаконичный код в одну строку.Vik писал(а):емае если ты выкурил уже все маны . Может все таки текс твоей клинописи уже в студию покажешь ? а так разговор вообще не очем .
Вот не ужели после стальки постов ты все еще не понял , что мы живем не у тебя в голове . Вот ты пишешь сценарий на языке awk откуда мы все тут знаем чего ты там понаписал и где у тебя чего не работает ? Я так понял ты взял готовый пример и пытаешься его изменить под свои нужды .
Вот скажи как тебе помочь если ты ничего толком не рассказываешь .
Вот я тебе вопрос задам такой : У меня ядро не собирается выдает ошибку . Никто не знает в чем грабли ? И что ты мне ответишь ?
1. Лог в студию
2. а дальше исходя из лога .
Могу натолкнуть на мысль . Сбрасываешь все в файл и сидом отрабатываешь файл и подменяешь 192.168.1.1 на 192.168.1.
Так вот для начало делаешь чтобы работало, а уж потом вылизывание кода программы до 1 строки .
sed'ом я обычно делал именно "тупые" замены (как ты процитировал), и хочу разобраться на что он способен раз и навсегда.
нето.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(Удалить заданную область шаблона )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 точки потом очищать строку и вставлять из буфера удержания .
http://viaprog.lic1.vsi.ru/it/books/html/sed.html#3 тут почитай
Skyzil: гуглите на ютубе кто не в теме=)
FenX писал(а):мозг выпал в корку.Vik писал(а): ну тогда в кавычки подставь выражение удалять после 3 точки в строке ключик d(Удалить заданную область шаблона )
я действительно прошу ПРОСТО помощи. кое что уже понял, но желание разбираться уже пропадает. сможешь дать готовое выражение?
или все желание пропало ?FenX писал(а): хочу разобраться на что он способен раз и навсегда.
Последний раз редактировалось Vik Вт, 19 авг 2008 00:03:16, всего редактировалось 1 раз.
Skyzil: гуглите на ютубе кто не в теме=)
отрицание отрицания. похоже всю жизь буду переписывать уже написанное.Vik писал(а):FenX писал(а):мозг выпал в корку.Vik писал(а): ну тогда в кавычки подставь выражение удалять после 3 точки в строке ключик d(Удалить заданную область шаблона )
я действительно прошу ПРОСТО помощи. кое что уже понял, но желание разбираться уже пропадает. сможешь дать готовое выражение?FenX писал(а): хочу разобраться на что он способен раз и навсегда.
такова судьба программиста , он как художник до самой смерти рисует джоконду.FenX писал(а):отрицание отрицания. похоже всю жизь буду переписывать уже написанное.Vik писал(а):FenX писал(а): мозг выпал в корку.
я действительно прошу ПРОСТО помощи. кое что уже понял, но желание разбираться уже пропадает. сможешь дать готовое выражение?FenX писал(а): хочу разобраться на что он способен раз и навсегда.
Skyzil: гуглите на ютубе кто не в теме=)
- ChesteR
- Сообщения: 1716
- Зарегистрирован: Вс, 11 май 2003 18:05:19
- Откуда: д.Бийск
- Контактная информация:
Особенно хорошо быть сис админом когда ПО московское...легче самому дописать, чем звонить туда...и доебывать их каждый день в течении месяца чтобы они пару строк в коде изменили...уже месяца 3 немогут АТ-мегапрограмматор заставить работать на эмулированном лпт порте...FenX писал(а):программист это последние во мне (и уже давно). Сисадмин я.
Банкир...
Системный администратор, инженер-программист
Системный администратор, инженер-программист