замена части текста с перестановкой местами, Alting, 15-Авг-13, 11:32 [смотреть все]Друзья! я туплю. гуглил-гуглил... в общем, есть строка в тексте, в ней есть символы XYZ10 Нужно убрать XYZ и после 10 поставить .0.0, т.е. XYZ10 меняется на 10.0.0 таких строк в тексте несколько, расположены могут быть в самых неожиданных местах. Уверен, что sed это умеет, но вот никак не найду, как убрать первые три символа и после оставшихся двух дописать еще четыре. В изначальном условии убираемых первых символов всегда три и они всегда одни и те же, оставляемых всегда два и они могут быть любыми и дописываемых - всегда четыре и они также всегда одни и те же.
|
- замена части текста с перестановкой местами, stereoPANDA, 11:48 , 15-Авг-13 (1)
echo "в общем, есть строка в тексте, в ней есть символы XYZ10" | sed 's/XYZ//g;s/10/10.0.0/' в общем, есть строка в тексте, в ней есть символы 10.0.0
- замена части текста с перестановкой местами, Alting, 11:57 , 15-Авг-13 (2)
> echo "в общем, есть строка в тексте, в ней есть символы XYZ10" > | sed 's/XYZ//g;s/10/10.0.0/' > в общем, есть строка в тексте, в ней есть символы 10.0.0 Вся проблема в том, что там необязательно 10 - может быть 11, 20 - любые две цифры.
- замена части текста с перестановкой местами, михалыч, 12:00 , 15-Авг-13 (3)
>> echo "в общем, есть строка в тексте, в ней есть символы XYZ10" >> | sed 's/XYZ//g;s/10/10.0.0/' >> в общем, есть строка в тексте, в ней есть символы 10.0.0 > Вся проблема в том, что там необязательно 10 - может быть 11, > 20 - любые две цифры.Тогда так echo "blablabla XYZ10 and XYZ22 and blablabla" | sed 's/XYZ\(..\)/\1.0.0/g'
- замена части текста с перестановкой местами, Andrey Mitrofanov, 12:52 , 15-Авг-13 (4)
>> 20 - любые две цифры. >| sed 's/XYZ\(..\)/\1.0.0/g' | sed 's/XYZ\([0-9][0-9]\)/\1.0.0/g' Чти ТЗ :)-<
- замена части текста с перестановкой местами, Alting, 12:56 , 15-Авг-13 (5)
>>> 20 - любые две цифры. >>| sed 's/XYZ\(..\)/\1.0.0/g' > | sed 's/XYZ\([0-9][0-9]\)/\1.0.0/g' > Чти ТЗ :)-< Супер! Спасибо всем огромное за помощь!
- замена части текста с перестановкой местами, михалыч, 13:07 , 15-Авг-13 (6)
> | sed 's/XYZ\([0-9][0-9]\)/\1.0.0/g'Тогда уж так | sed 's/XYZ\([0-9]\{2\}\)/\1.0.0/g' > Чти ТЗ :)-< Не передёргивай. Смотрим самое начало: > как убрать первые три символа и после оставшихся двух дописать еще четыре Речь шла о символах. ))
- замена части текста с перестановкой местами, Andrey Mitrofanov, 13:38 , 15-Авг-13 (7)
>> | sed 's/XYZ\([0-9][0-9]\)/\1.0.0/g' > Тогда уж так > | sed 's/XYZ\([0-9]\{2\}\)/\1.0.0/g' А в чём профит? Длина та же. Читаемость, н-ну, не обнозначно. //А хочешь _1_ символ сэкономлю? %)) >> Чти ТЗ :)-< > Не передёргивай. Согласен. Чего его чтить, когда оно в каждом мессадже меняется.
- замена части текста с перестановкой местами, михалыч, 13:59 , 15-Авг-13 (8)
>>> | sed 's/XYZ\([0-9][0-9]\)/\1.0.0/g' >> Тогда уж так >> | sed 's/XYZ\([0-9]\{2\}\)/\1.0.0/g' > А в чём профит? Длина та же. Читаемость, н-ну, не обнозначно.А так политкорректней.)) И потом, если будет не 2, а 3 цифры? Уже будет короче! > //А хочешь _1_ символ сэкономлю? %)) Да!
- замена части текста с перестановкой местами, Andrey Mitrofanov, 09:57 , 16-Авг-13 (9)
>> //А хочешь _1_ символ сэкономлю? %)) > Да!Крибле, крабле! Бумс!! Ж) //И да, -r -- _расширение GNU_. Типа, чит. 1. | sed 's/XYZ\([0-9]\{2\}\)/\1.0.0/g' 2. | sed -r 's/XYZ([0-9]{2})/\1.0.0/g'
- замена части текста с перестановкой местами, михалыч, 03:01 , 17-Авг-13 (10)
>>> //А хочешь _1_ символ сэкономлю? %)) >> Да! > Крибле, крабле! Бумс!! Ж) //И да, -r -- _расширение GNU_. Типа, > чит. > 1. | sed 's/XYZ\([0-9]\{2\}\)/\1.0.0/g' > 2. | sed -r 's/XYZ([0-9]{2})/\1.0.0/g' Мастер меча!
|