[爆卦]line反斜線是什麼?優點缺點精華區懶人包

為什麼這篇line反斜線鄉民發文收入到精華區:因為在line反斜線這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者CindyLinz (Cindy Wang)看板Perl標題Re: [問題] 在 shell/s...


※ 引述《clanguage (C語言)》之銘言:
: 想問一下如何在 shell/shell script 下使用反斜線取代?
: 試著處理反斜線的取代,但是失敗了
: 在 test.sh 中使用 perl:
: 1. 只取代一個英文 word -> ok
: #!/bin/bash
: string="pre-string\\middle\\post-string";
: echo $string;
: string2=`echo $string | perl -pe s/middle/in_the_middle/;`;
: echo "string2 = $string2";
: 輸出
: pre-string\middle\post-string
: string2 = pre-string\in_the_middle\post-string
: 2. 試著取代反斜線
: #!/bin/bash
: string="pre-string\\middle\\post-string";
: echo $string;
: string2=`echo $string | perl -pe "s/\\middle\\/in_the_middle/;"`;
: echo "string2 = $string2";
: 輸出:
: pre-string\middle\post-string
: Substitution replacement not terminated at -e line 1.
: string2 =
: 請問應該怎麼使用? 謝謝
反斜線 \ 是 shell ` 的脫序字元,
也是 shell " 的脫序字元,
也是 perl regex 的脫序字元..

所以你一次要用 2**3 一共 8 個反斜線.... ╮( ̄﹏ ̄)╭

#!/bin/bash
string="pre-string\\middle\\post-string";
echo $string;
string2=`echo $string | perl -pe "s/\\\\\\\\middle\\\\\\\\/in_the_middle/;"`;
echo "string2 = $string2";

如果你把 " 換成 ' 的話, 可以少一組, 那就是 4 個反斜線...

#!/bin/bash
string="pre-string\\middle\\post-string";
echo $string;
string2=`echo $string | perl -pe 's/\\\\middle\\\\/in_the_middle/;'`;
echo "string2 = $string2";

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.242.246.249
scwg:cindy 今天上班不認真, 一直po文回答問題 >\\\\\\\\< 06/20 14:38
CindyLinz:中午休息啊... orz 而且, 也只有一篇而已啊 o.o 06/20 18:54
scwg:CSSE 板還一篇 06/21 00:00
clanguage:這..八個斜線 XDDD 感謝大大犧牲午休分享 06/21 00:27
CindyLinz:那不是同一天的啊~~~~~ Q_Q 06/21 00:47
※ 編輯: CindyLinz 來自: 210.242.246.249 (09/10 13:14)

你可能也想看看

搜尋相關網站