|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : mitrohin a.s. 2:5020/400 14 Sep 2006 09:35:45 To : Eugene Grosbein Subject : Re: sed -------------------------------------------------------------------------------- On Wed, Sep 13, 2006 at 11:03:28PM +0400, Eugene Grosbein wrote: > 13 сен 2006, среда, в 18:35 KRAST, mitrohin a.s. написал(а): > > mas> можно ли подклеить sed-ом несколько строк в одну? > mas> printf '[a\nb\nc\n]' | sed ??? -> [abc] > > printf '[a\nb\nc\n]' | sed '{N; N; N; s/\n//g; }' > это замечательно работает, если заранее известно кол-во склеиваемых строк. надо было прямо задачу поставить, чтобы условия были полными, поэтому еще раз. ldif формат подается на sed, хочется вырезать значение поля одним sed-ом. ldif имеет вид: ... attribute1: value1 attribute2:: 0JTQuNCy0LDQvdC+0LIt0J/Rg9C/0LrQuNC9INCS0LDRgdC40YH Rg9Cw0LvQuNC5INCU0L7RgNC80LjQtNC+0L3RgtC+0LLQuNGHCg== attribute3: value3 ... где каждая строка - ``attribute: value'' или ``attribute:: <конвертнутое в utf-8 и завернутое в base64 value>''. если на одной строке данные не помещаются - они переносятся на следующую с добавлением пробела в качестве первого символа. задача - выдернуть значение атрибута 2. сейчас это сделано так. ldapsearch <...> | sed -n '/^attribute2:: /,/^ /s/^[^ ]\{0,\} //p' | tr -d '\n' | recode utf-8/b64.. и imho tr тут лишний. /swp --- ifmail v.2.15dev5.3 * Origin: BSPU InterNetNews site (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/3499ce5b0067.html, оценка из 5, голосов 10
|