добавить обратную косую черту перед конкретным символом

у нас есть файл с большим количеством символов “%” в файле

мы хотим добавить перед каждым “%” обратную косую черту

как

\% 

пример

до

 %TY %Tb %Td %TH:%TM %P 

после

 \%TY \%Tb \%Td \%TH:\%TM \%P 

как это сделать с помощью sed?

One Solution collect form web for “добавить обратную косую черту перед конкретным символом”

Довольно просто

 $ echo '%TY %Tb %Td %TH:%TM %P' | sed 's/%/\\%/g' \%TY \%Tb \%Td \%TH:\%TM \%P 

но вы можете сделать то же самое с подстановкой параметров bash

 $ str='%TY %Tb %Td %TH:%TM %P'; backslashed=${str//%/\\%}; echo "$backslashed" \%TY \%Tb \%Td \%TH:\%TM \%P управляющими $ str='%TY %Tb %Td %TH:%TM %P'; backslashed=${str//%/\\%}; echo "$backslashed" \%TY \%Tb \%Td \%TH:\%TM \%P 
Interesting Posts

Найдите значение в одном столбце и напечатайте соответствующее значение от другого

запрос настройки сети во время установки кикстарта centos7

Diff head файлов

Функция zsh: достигается максимальный уровень вложенных функций

Объединение двух файлов

как фильтровать по звездочке или аналогичному выражению rsync в zsh

Открытие файла журнала хранения в vi

Замените точки символами подчеркивания в именах файлов, оставив неизменным

Как сохранить пространство в литеральном выражении в значении массива в bash и как обрезать результаты из команды sort?

ошибка монтирования "не является блочным устройством"

Где мой / tmp смонтирован?

tar: извлечение одного файла в каталог без создания вложенных папок

Не удается запустить службу sshd в подсистеме Windows linux

где показать пользовательскую информацию, когда успешно открыть физическую машину или подключить удаленный компьютер или войти в систему в centos 7

Установка корневого PATH для su

Linux и Unix - лучшая ОС в мире.