sed를 사용하여 읽으려고 했습니다 \
. 읽을 수 없으며 \
이를 4로 바꾸고 \\\\
싶습니다 .\
\\\\
답변1
작은따옴표 대체에서는 각 백슬래시에 대해 2개의 백슬래시를 사용합니다.
echo '\' | sed 's/\\/\\\\\\\\/'
큰따옴표 대체에서는 쉘이 각 백슬래시를 \\
백슬래시로 해석하므로 각 백슬래시 리터럴에 4개의 백슬래시가 필요합니다.
echo '\' | sed "s/\\\\/\\\\\\\\\\\\\\\\/"
답변2
sed 's/[\]/&&&&/'
에서는 [...]
괄호 안에 있는 집합의 단일 문자와 일치하는 표현식입니다. 각 문자 \
는 리터럴이므로 이스케이프할 필요가 없습니다(표현식 주위에 작은 따옴표를 사용하는 경우 큰 따옴표를 사용하면 여전히 이스케이프 백슬래시가 필요합니다). .
대체 문자열의 4개 문자열은 각각 &
정규식이 일치하는 항목으로 대체됩니다.
아니면 [\]
기분이 이상하다면,
sed 's/\\/&&&&/'