Linux

刪除每行 / sed 上的第一個和最後一個字元

  • November 12, 2019

我需要 sed 刪除行的第一個和最後一個字元,例如源

(192.168.3.0)

結果

192.168.3.0

嘗試這種方式:

sed 's/^.\(.*\).$/\1/'

但隨後它也刪除了 0 個字元

如何避免這種行為?

正如其他人指出的那樣,您使用的 sed 模式不正確,可以修復它以正確刪除第一個和最後一個字元。

或者,在您的特定範例中,如果您真正想要做的只是刪除括號(只留下 IP 地址),那麼更簡單的方法可以完成這項工作。

例如,這tr會從其輸入中過濾掉所有括號:

tr -d '()'

這等效於以下內容sed

sed -e 's/[()]//g'

如果您真的想知道如何刪除第一個和最後一個字元,請查看其他答案。

引用自:https://serverfault.com/questions/836305