값에서 포인트 제거

값에서 포인트 제거

서비스가 실행 중인지 표시하는 스크립트를 작성하려고 합니다.
명령:
service ntpd status | awk '{print $5}'
출력:
running...
이 점을 어떻게 제거할 수 있습니까? 아니면 서비스가 실행 중인지 확인하는 더 좋은 방법이 있습니까?

답변1

awk의 명령을 사용할 수 있습니다 gsub.

$ service ntpd status | awk '{gsub(/[.]/,"");print $NF}'
running

NF상태 단어는 일반적으로 마지막 단어 출력이기 때문에 사용됩니다 .

이 명령은 service서비스를 확인하는 오래된 방법입니다(아직 systemctl을 사용하지 않는 시스템의 경우). systemd와 함께 사용:

systemctl is-active sshd >/dev/null 2>&1 && echo YES || echo NO

답변2

아래 sed 명령을 사용해 보았더니 제대로 작동합니다.

@praveen_linux_example ~]# service sshd status| sed "s/\.//g"
openssh-daemon (pid  2268) is running

답변3

당신이 주장하는 경우 sed:

service ntpd status | sed 's/^.* \|\.*$//g'
running

관련 정보