我需要 sed 删除该行的第一个和最后一个字符,例如源
(192.168.3.0)
Run Code Online (Sandbox Code Playgroud)
结果
192.168.3.0
Run Code Online (Sandbox Code Playgroud)
尝试这样:
sed 's/^.\(.*\).$/\1/'
Run Code Online (Sandbox Code Playgroud)
但它也会删除 0 个字符
如何避免这种行为?
正如其他人指出的那样,您使用的 sed 模式不正确,可以修复它以正确删除第一个和最后一个字符。
或者,在您的特定示例中,如果您真正想要做的只是删除括号(仅留下 IP 地址),那么更简单的方法可以完成这项工作。
例如,这tr
会从输入中过滤掉所有括号:
tr -d '()'
Run Code Online (Sandbox Code Playgroud)
这相当于以下内容sed
:
sed -e 's/[()]//g'
Run Code Online (Sandbox Code Playgroud)
如果您确实想知道如何删除第一个和最后一个字符,请参阅其他答案。
归档时间: |
|
查看次数: |
14212 次 |
最近记录: |