Linux
刪除每行 / sed 上的第一個和最後一個字元
我需要 sed 刪除行的第一個和最後一個字元,例如源
(192.168.3.0)
結果
192.168.3.0
嘗試這種方式:
sed 's/^.\(.*\).$/\1/'
但隨後它也刪除了 0 個字元
如何避免這種行為?
正如其他人指出的那樣,您使用的 sed 模式不正確,可以修復它以正確刪除第一個和最後一個字元。
或者,在您的特定範例中,如果您真正想要做的只是刪除括號(只留下 IP 地址),那麼更簡單的方法可以完成這項工作。
例如,這
tr
會從其輸入中過濾掉所有括號:tr -d '()'
這等效於以下內容
sed
:sed -e 's/[()]//g'
如果您真的想知道如何刪除第一個和最後一個字元,請查看其他答案。