Этот вопрос возникает из одного варианта использования, замените "
на ''
, причуда латекса.
Я обычно использую '
(одинарная кавычка), чтобы заключить сценарий, если внутри есть "
(двойная кавычка), и наоборот. Однако в этом случае в этом скрипте появляются как одинарные, так и двойные кавычки, и мне пришлось поискать в Google правильный способ справиться с этим. Этот один предлагает решение. Ниже приведено правильное, но не очень читаемое решение.
sed 's!"!'\'''\''!' {filename}
После того, как это заработало, я начал думать, что эта неловкость происходит из-за этой механики цитирования. Следовательно, можно ли использовать непечатаемый символ в качестве кавычки? Тогда нам больше не нужно избегать кавычек.
s!!!
- person glenn jackman   schedule 08.07.2013sed "s/\"/''/g"
? Это намного лучше, чем у вас, и очень естественно, когда вы понимаете, как работают двойные кавычки. - person gniourf_gniourf   schedule 11.07.2013sed 's!"!\'\'!'
тоже должен сработать, верно? - person Albert Netymk   schedule 12.07.2013'
, используя обратную косую черту внутри''
непосредственно. На первом уроке по программированию оболочки нам сказали, что строка внутри''
интерпретируется буквально. - person Albert Netymk   schedule 02.08.2013