Go의 셸 명령에서 실시간 출력 검색
문제:
실행하고 싶습니다. 시간이 걸릴 수 있고 실시간 출력을 검색하여 처리하고 진행 상황으로 표시할 수 있는 Go의 셸 명령 정보.
해결책:
1. 쉘 명령 실행을 위해 os/exec 사용:
exec.Command를 사용하여 명령을 생성하여 원하는 쉘 명령을 실행합니다.
2. 표준 오류 캡처(stderr) 출력:
기본적으로 셸 명령의 진단 메시지는 stdout 대신 stderr로 전송됩니다. cmd.StderrPipe()를 사용하여 stderr 스트림을 캡처합니다.
3. 출력을 읽는 스캐너 만들기:
stderr 스트림을 읽는 스캐너를 만들려면 bufio.NewScanner를 사용하세요. bufio.ScanWords를 사용하여 스캔을 단어로 분할하여 개별 출력 라인을 얻습니다.
4. 처리 및 출력 표시:
루프 내에서 scanner.Scan() 메서드를 사용하여 각 출력 줄을 검색합니다. 이를 처리하여 진행률 등 원하는 정보를 추출합니다. 그런 다음 처리된 출력을 표시합니다.
5. 예제 코드:
다음은 이를 수행하는 방법을 보여주는 예제 코드입니다.
이 단계를 수행하면 셸 명령 및 프로세스에서 실시간 출력을 검색할 수 있습니다. 진행 상황이나 기타 원하는 정보를 표시합니다.
위 내용은 Go의 쉘 명령에서 실시간 출력을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!