shell使用awk分割字符

2019-4-3 Stone 运维

遇到一个问题,在日志文件a中记录的ip是有[ip],需要处理ip然后显示ip地址.

[114.33.229.117|-]
[220.165.158.173|-]
[119.82.253.63|-]
[119.82.253.206|-]
[39.137.168.230|-]
[117.86.76.98|-]
[117.94.124.25|-]
[125.74.14.50|-]
[121.234.123.52|-]
[117.67.131.103|-]
[123.152.43.41|-]
[119.82.253.182|-]
[125.74.14.34|-]
[118.89.19.33|-]
[180.123.84.234|-]
[125.74.14.45|-]
[118.24.208.163|-]


这是需要分割字符串,只保留ip地址,并且需要去重.

#!/bin/sh

cat a|awk 'gsub("^\\[","",$0)'|awk -F"[|-]" '{print $1}'|sort|uniq > b

处理之后的记录b:

114.33.229.117
117.67.131.103
117.86.76.98
117.94.124.25
118.24.208.163
118.89.19.33
119.82.253.182
119.82.253.206
119.82.253.63
121.234.123.52
123.152.43.41
125.74.14.34
125.74.14.45
125.74.14.50
180.123.84.234
220.165.158.173
39.137.168.230

标签: shell awk

Copyright © 2019 by 海角孤星 京ICP备15056837号-1