openvpn.log의 여러 항목을 grep

openvpn.log의 여러 항목을 grep

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

첫째: 1에서 20 사이의 숫자 뒤에 숫자가 오는 것을 grep 'client[1-20]'찾지 않습니다 . , 및 뒤에 오는 모든 문자를 client찾습니다 . client일련의 숫자로 작업하는 것은 번거롭고 이 사이트에서 여러 번 처리됩니다. 예를 들어012grepGrep은 숫자 범위를 얻습니다.,연도 범위가 1965-1996인지 grep 또는 egrep을 확인하십시오., 등.

고유한 항목만 필요한 경우 sort -u또는 를 사용하십시오 sort | uniq.

결합하면 다음과 같습니다(숫자가 0으로 채워져 있다고 가정).

grep -Eo 'client([01][1-9]|20)' | sort -u

관련 정보