Linux 在shell脚本中,如何在正斜杠前面插入反斜杠?

Linux 在shell脚本中,如何在正斜杠前面插入反斜杠?,linux,unix,awk,Linux,Unix,Awk,如何转换HTTP:/example.com/RSFSR 我尝试使用awk,但不起作用: read url awk '{gsub(///,"\/"; print}' echo $url 当到达awk时,它停止工作。 预期结果HTTP:\/\/example.com\/RSFSR使用sed: echo "HTTP://example.com/RSFSR" | sed 's#/#\\/#g' 使用sed: echo "HTTP://example.com/RSFSR" | sed 's

如何转换HTTP:/example.com/RSFSR

我尝试使用
awk
,但不起作用:

  read url
  awk '{gsub(///,"\/"; print}'
  echo $url
当到达
awk
时,它停止工作。 预期结果
HTTP:\/\/example.com\/RSFSR
使用
sed

echo "HTTP://example.com/RSFSR" | sed 's#/#\\/#g'
使用
sed

echo "HTTP://example.com/RSFSR" | sed 's#/#\\/#g'

\
单独用于转义以下字符。要获得一个文本,
\
,您必须将其转义并说出
\
。这同样适用于在
/
中表达的模式。在这里,你必须说
\/
来指代文字
/

总而言之:

awk '{gsub(/\//,"\\/"); print}'
#           ^    ^
#    escape /    escape \
在行动中看到它:

$ awk '{gsub(/\//,"\\/"); print}' <<< "HTTP://example.com/RSFSR"
HTTP:\/\/example.com\/RSFSR

$awk'{gsub(/\/,“\\/”);print}'
\
单独用于转义以下字符。要获得一个文本,
\
,您必须将其转义并说出
\
。这同样适用于在
/
中表达的模式。在这里,你必须说
\/
来指代文字
/

总而言之:

awk '{gsub(/\//,"\\/"); print}'
#           ^    ^
#    escape /    escape \
在行动中看到它:

$ awk '{gsub(/\//,"\\/"); print}' <<< "HTTP://example.com/RSFSR"
HTTP:\/\/example.com\/RSFSR

$awk'{gsub(/\/,“\\/”);print}您为什么要这样做?人们不必要地用反斜杠向前划了很多斜杠。你到底为什么要这样做?人们不必要地反斜杠向前砍了很多。