- Как экранировать апостроф в sed?, Andrey Mitrofanov, 15:26 , 02-Фев-11 (1)
> Хочу заменить единички на апострофы.**>экранировать апостроф Никак. Переходите к... конкатенированию! %) $ echo 111 | sed "s/111/'''/g" $ echo 111 | sed 's/111/'"'''"'/g' $ echo 111 | tr 1 \' $ echo 111 | sed 's/111/'\'\'\''/g'
- Как экранировать апостроф в sed?, stereoPANDA, 15:36 , 02-Фев-11 (2)
>> Хочу заменить единички на апострофы. > **>экранировать апостроф > Никак. Переходите к... конкатенированию! %) > $ echo 111 | sed "s/111/'''/g" > $ echo 111 | sed 's/111/'"'''"'/g' > $ echo 111 | tr 1 \' > $ echo 111 | sed 's/111/'\'\'\''/g' Спасибо, Андрей. А разъясни, пожалуйста, в чем разница между 1 и 2 и 4 вариантом?
- Как экранировать апостроф в sed?, Andrey Mitrofanov, 16:30 , 02-Фев-11 (3)
>>> Хочу заменить единички на апострофы. >> **>экранировать апостроф >> Никак. Переходите к... конкатенированию! %) >> $ echo 111 | sed "s/111/'''/g" >> $ echo 111 | sed 's/111/'"'''"'/g' >> $ echo 111 | tr 1 \' >> $ echo 111 | sed 's/111/'\'\'\''/g' > Спасибо, Андрей. А разъясни, пожалуйста, в чем разница между 1 и > 2 и 4 вариантом?Пожалуйста. Для sed-а разница никакой, он получает один и тот же первый аргумент, текстовую строку s/111/'''/g . Разница в её формировании на уровне шела: 1) используются двойные кавычки (побочный эффект - проход макро-подсткновки (=пустой) шелом по этой строке) для того, чтобы шел рассматривал ' как "простой" символ; 2) конкатенация трёх строк - s/111/ + ''' + /g, обрамлённых разными кавычками; 4) аналогично -- строки, трёх экранированных символов и строки. Вот ещё 5ы и 6ой варианты: | sed s/111/"'''"/g | sed s/111/\'\'\'/g -- соответственно, 2ой и 4ый без обрамления-экранирования "просто строк". В отсутствие пробелов разницы нет.
|