Linux 从左侧和右侧删除文本,并将字符串保持在中间

Linux 从左侧和右侧删除文本,并将字符串保持在中间,linux,string,ubuntu,sed,terminal,Linux,String,Ubuntu,Sed,Terminal,在linux中有没有办法修改这个字符串 您可以使用grep仅过滤掉IP地址中四个点分隔的数字块: grep -o -P "([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})" 或 您可以直接grepaddr属性值: grep -Po 'addr="\K[^"]*' file 输出: 185.127.7.58 188.128.124.114 163.191.210.41 97.78.205.11 93.103.218.96 75.106.77.2

在linux中有没有办法修改这个字符串


您可以使用grep仅过滤掉IP地址中四个点分隔的数字块:

grep -o -P "([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})"

您可以直接grep
addr
属性值:

grep -Po 'addr="\K[^"]*' file
输出:

185.127.7.58
188.128.124.114
163.191.210.41
97.78.205.11
93.103.218.96
75.106.77.247
5.200.35.35
147.196.146.236
89.21.189.7
78.139.51.5
62.193.141.140
136.227.47.165
109.177.46.82
89.116.124.135
88.245.53.232
101.55.37.147
206.201.204.229
120.24.86.220
120.42.185.100
115.47.49.146

或者
grep-Eo'([0-9]{1,3}\){3}[0-9]{1,3}'文件
使用XML/HTML解析器(xmlstarlet,xmllint…)从node address.thanx中提取属性addr的值,以供您的帮助人员使用。。。。我需要知道是否有任何方法可以找到包含此字符串的行:portid=“445”>@evilcode1,显示所需的输出,我将给出解决方案。。。。。。。这2行包含DIID 445和3389。。。我需要删除所有包含3389字符串的行,并保留带有445的行string@evilcode1,现在,使用新要求更新您的问题或创建新问题
grep -Po 'addr="\K[^"]*' file
185.127.7.58
188.128.124.114
163.191.210.41
97.78.205.11
93.103.218.96
75.106.77.247
5.200.35.35
147.196.146.236
89.21.189.7
78.139.51.5
62.193.141.140
136.227.47.165
109.177.46.82
89.116.124.135
88.245.53.232
101.55.37.147
206.201.204.229
120.24.86.220
120.42.185.100
115.47.49.146