파일에 "%" 문자가 많이 있습니다.
각 "%" 앞에 백슬래시를 추가하고 싶습니다.
~처럼
\%
예
앞으로
%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