powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Вопрос по sed
10 сообщений из 10, страница 1 из 1
Вопрос по sed
    #37106377
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

есть значение переменной VALUE:
oebs_serv316841662446047.log

Необходимо сделать oebs_serv3168*.log , предполагаю что это делается с помощью sed'а, только не разобрался как задать такое условие.

Нашел функцию замены:
echo ${VALUE} | sed 's/41662446047/*/g'
вывело как надо - oebs_prod3168*.log
но теперь не понимаю как мне указать эти цифры, т.е. как заменить символы с 14 -го по 24 на *

Помогите пожалуйста!
...
Рейтинг: 0 / 0
Вопрос по sed
    #37106886
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nick Chervov , заранее извиняюсь за возможные ошибки, попросту нет возможности проверить регэксп. Наверное, что то вроде:

echo ${VALUE} | sed 's/(oebs_serv3168)([0-9]*)(\.log)/\1\*\3/g'
...
Рейтинг: 0 / 0
Вопрос по sed
    #37107027
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если именно по ТЗ символы цифры с 14 по 24-й - то:

echo ${VALUE} | sed -e 's/\(.\{13\}\)[0-9]\{11\}/\1*/'
...
Рейтинг: 0 / 0
Вопрос по sed
    #37107129
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--null--,

Большое спасибо!
...
Рейтинг: 0 / 0
Вопрос по sed
    #37111151
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В результате работы возник следующий вопрос:

Как полученное значение oebs_prod3168*.log превратить в oebs_prod3169*.log а потом и в oebs_prod3170*.log ? Возможно ли это сделать с помощью sed'а?
...
Рейтинг: 0 / 0
Вопрос по sed
    #37113688
Nick Chervov,

для произвольного значения 3168? :-)
...
Рейтинг: 0 / 0
Вопрос по sed
    #37115319
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К-рниган и Р-тчи,

Почему для произвольного? Для последовательного, .т.е. прибавляя единицу к предыдущему значению.

Как можно это реализовать?
...
Рейтинг: 0 / 0
Вопрос по sed
    #37117507
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
именно sed-ом делать такое-извращение, но с привлечением expr можно


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
#!/bin/bash


fname=oebs_prod3168*. log 


 for ((i= 0 ;$i< 10 ;i++))
{
nextname=$( eval   echo  ` echo  $fname | sed -e "s/\([0-9][0-9]*\)/\\\`expr \1 + 1\\\`/"`)
 echo  $nextname
fname=$nextname
}

...
Рейтинг: 0 / 0
Вопрос по sed
    #37117589
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
awk-ом будет веселее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
#!/bin/bash

fname=oebs_prod3168*. log 




 for ((i= 0 ;$i< 10 ;i++))
{
 nextname=` echo  $fname | awk  '{match($0,"[0-9]+");sub("[0-9]+",1+substr($0,RSTART,RLENGTH),$0);print $0}'`
  echo  $nextname
 fname=$nextname
}
...
Рейтинг: 0 / 0
Вопрос по sed
    #37118826
Nick Chervov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--null--,

Респектище тебе огромное!!!

СПАСИБО!!!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Вопрос по sed
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]