특정 문자 앞에 백슬래시 추가

특정 문자 앞에 백슬래시 추가

파일에 "%" 문자가 많이 있습니다.

각 "%" 앞에 백슬래시를 추가하고 싶습니다.

~처럼

\%

앞으로

%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

관련 정보