고쳐 쓰다

고쳐 쓰다
Oct 24 10:18:43 reliant3 sshd[67299]: Accepted password for root from 10.51.21.57 port 60097 ssh2

비밀번호라는 단어를 찾고 있어요. 일단 찾으면 그 번호와 관련된 것을 찾아서 sshd[67299]인쇄하고 싶습니다.

답변1

$ echo "Oct 24 10:18:43 reliant3 sshd[67299]: Accepted password for root from 10.51.21.57 port 60097 ss" | sed 's/.*\[\(.*\)\].*/\1/'
67299

(괄호 안의 내용은 모두 폐기합니다.)

답변2

이것은 당신에게 도움이 될 것입니다

grep password my_log.txt | sed 's/.*sshd\[\(.*\)\].*/\1/'

grep password my_log.txt비밀번호가 포함된 모든 행을 가져옵니다.

sed 's/.*sshd\[\(.*\)\].*/\1/'[]후자를 찾아 sshd그 안에 PID를 가져옵니다.

질문에 이를 지정하지 않았지만 파이프를 통해 sort -u중복 항목을 필터링할 수도 있습니다.

고쳐 쓰다

가독성이 떨어지는 것 같지만 한 줄로 모두 수행할 수도 있습니다 sed.

sed -e '/password/!d;s/.*sshd\[\(.*\)\].*/\1/' my_log.txt

관련 정보