Во-первых, вы можете использовать другой символ в качестве разделителя s///
.Команда
sed 's:ABC:DEF:g'
эквивалентна для
sed 's/ABC/DEF/g'
. Она сделает вашу команду более читабельной, потому что вам не придется избегать косой черты.
Сказал, чтонекоторые seds не поддерживают экранирование символов, например \t
.Это часто случается со мной в Mac OS X, например.Мое решение состоит в том, чтобы нажать Control + V, а затем вкладку char:
sed 's:/:<Control+V><TAB character>:g'
Результат на моей машине:
$ pwd
/Users/brandizzi/sandbox/demo/mydemo
$ pwd | sed 's:/: :g'
Users brandizzi sandbox demo mydemo
Однако, если вы хотите поместить все каталоги путейв переменных awk $1
, $2
и т. д. просто объявите косую черту как разделитель полей с флагом awk -F
:
$ pwd
/Users/brandizzi/sandbox/demo/mydemo
$ pwd | awk -F / '{print $3 " " $5}'
brandizzi demo