在特定字符前添加反斜杠

在特定字符前添加反斜杠

我们的文件中有许多“%”字符

我们想在每个“%”之前添加反斜杠

作为

\%

例子

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

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

如何用 sed 做到这一点?

答案1

非常简单

$ 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

相关内容