2013-11-22 5 views
0

Проблема заключается в том, что СЭД удаляет одиночные кавычки кроме того, они не упоминаются в схеме согласования:Gnu СЭД удаляет одиночные кавычки

echo "aaa 'w' ddd" | sed -r 's/aaa/echo dd/ge' 

результаты в

dd w ddd 

Есть ли у вас какие-либо объяснения по этому поводу?

ответ

3

«e» в конце вызывает его. По существу, вы просите sed сделать это:

echo dd 'w' ddd 

, который даст результаты, которые вы видите. Вы могли бы сделать что-то вроде этого:

echo $(echo "aaa 'w' ddd" | sed -e 's/aaa/dd/g') 
+0

Для лучшего понимания, я предлагаю, чтобы добавить [ссылка на документ] (http://www.gnu.org/software/sed/manual/sed.html#The -_0022s_0022-Command) на этом специальном флаге. – Bentoy13

+2

'echo $ (...)' избыточно – jkshah

+0

jkshah: Да, вы правы. Я изначально сделал двухэтапный подход с RES = $ (echo "aaa 'w' ddd" | sed -e 's/aaa/dd/g'); echo $ RES, но впоследствии решил, что OP, вероятно, не нуждался в результате, хранящемся в переменной, поэтому я сбросил переменную и повторил результат $ (...) !!! –

Смежные вопросы