我需要确定哪些客户端尝试连接到 openvpn
$ grep -e 'client[1-20]' openvpn.log | sed 's/^.*client/client/'
给我
client16
client16
client12_pool_defined = DISABLED
client12'/var/run/openvpn.pid'
client13
client15
client16
client16
知道如何删除重复的条目,只留下 client12、client13 等吗?
答案1
第一:grep 'client[1-20]'
不查找client
后跟 1 到 20 之间的数字。它查找后跟、和client
中的任何字符。使用一系列数字很麻烦,并且在此站点中多次处理。例如,参见0
1
2
grep
Grep 获取数字范围,查看 grep 或 egrep 年份范围为 1965-1996, ETC。
如果您只需要唯一的条目,请使用sort -u
或sort | uniq
。
组合起来,类似于(假设用零填充数字):
grep -Eo 'client([01][1-9]|20)' | sort -u