sed為特殊字元加上跳脫字元問題 - Linux

Emma avatar
By Emma
at 2022-03-08T11:50

Table of Contents

情境:
將文字檔裡的wireless ssid取出並sed到另外一個文字檔。

問題:
遇上包含/的ssid,sed指令會出事。

stackoverflow找到的解法:
放變數的時候用 ${ssid//\//\\/}在/前面加上escape。
問題1:
match pattern是 /\/,看不懂第一個/的用途,實驗過用\/
當pattern輸出結果也是一樣,這是為什麼呢?
實驗方式
ssid="TEST/SSID"
echo ${ssid//\//\\/}
echo ${ssid/\//\\/}
輸出都是TEST\/SSID
問題2:
取代的字串是\\/,就我的認知應該兩個都要加escape所以應該是\\\/
實驗結果也是兩個輸出都一樣,why???
echo ${ssid//\//\\/}
echo ${ssid//\//\\\/}

--
Tags: Linux

All Comments

Cara avatar
By Cara
at 2022-03-09T23:01
參照 bash manpage 的 brace expansion
Hedy avatar
By Hedy
at 2022-03-11T10:11
${var/pattern/string} 如果 pattern 是 / 開頭會替換所有
Lily avatar
By Lily
at 2022-03-12T21:22
符合 pattern 的部分 反之只會替代第一個
所以你第一個只是因為你只有一個要替換所以沒差
Ina avatar
By Ina
at 2022-03-14T08:33
至於第二個 因為後面的 / 本來就不會有特殊語意 所以沒差
Caroline avatar
By Caroline
at 2022-03-15T19:43
然後 如第一行 這不是 sed
Lily avatar
By Lily
at 2022-03-17T06:54
感謝 原來是Parameter Substitution的部分
Sarah avatar
By Sarah
at 2022-03-18T18:04
把 sed 的分隔符號換掉就好了吧.
Lucy avatar
By Lucy
at 2022-03-20T05:15
echo "ssid=1\2/3" | sed -e 's|ssid=||'
Kama avatar
By Kama
at 2022-03-21T16:25
sed可以換符號,不一定要斜線

在NIS伺服器中修改密碼

Caroline avatar
By Caroline
at 2022-02-26T23:22
大家好,小弟最近剛接觸到了centos7,有裝NIS伺服器,想請教一些板上精通的大大,那我看 了一些資料,包括鳥哥跟一些影片介紹,目前遇到是要修改在NIS伺服器的密碼的問題。 那我的想法是一開始先使用root #passwd (帳號),然後設定密碼,請問是否需要重新啟動N IS資料庫?那只修改密碼,只要重 ...

Linux下解決鍵盤F1~F12失效的問題

Mason avatar
By Mason
at 2022-02-26T23:09
※ [本文轉錄自 Key_Mou_Pad 看板 #1Y6a9Kdx ] 作者: rail02000 (台中2B月台) 看板: Key_Mou_Pad 標題: [閒聊] Linux下解決鍵盤F1~F12失效的問題 時間: Sat Feb 26 23:07:58 2022 簡單來說 有些鍵盤在Linux下, ...

安裝時出現aclocal-1.15 missing

Joe avatar
By Joe
at 2022-02-19T14:42
在 CentOS 7 中下載官方 unixODBC 2.3.7 套件自行安裝 ./config 設定完成後 透過 make andamp;andamp; make install 會出現 aclocal-1.15 missing on your system 錯誤 我google後 也確認有裝 au ...

power lose 對檔案系統傷害最低的手段

Ina avatar
By Ina
at 2022-02-18T17:16
因應學校變電站健檢,電腦會沒電,但又沒有設WoL(而且WoL好像活不過電源中斷(?)), 只有設電源恢復時自動開機。 檔案系統是 ext4 (flag: data=ordered)。 請問有什麼手段可以讓power lose對檔案系統的傷害降到最低嗎? 目前找到的方式有: - 將ordered改為 ...

如何遠端控制另一台電腦

Oliver avatar
By Oliver
at 2022-02-17T11:45
如題 手邊一台平板筆電的螢幕觸控壞了 鍵盤也很小 不是很好敲 所以想從桌電透過區網連線進去控制它 剛GOOGLE了一些VNC, XRDP的文章 但這些好像比較像遠端桌面 而不是遠端控制 有建議的遠端控制軟體嗎? 平板筆電與桌電都是安裝Linux 謝謝。 - ...