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

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

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

как

\% 

пример

до

 %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
Linux и Unix - лучшая ОС в мире.