[go] go 언어의 exec 패키지를 사용하여 파이프라인 처리 구현하는 방법

go 언어에서는 exec 패키지를 사용하여 외부 프로그램을 실행하고 그 출력을 다른 프로그램의 입력으로 사용하여 파이프라인 처리를 구현할 수 있습니다. 이를 통해 간단한 쉘 스크립트를 작성하지 않고도 원하는 작업을 구현할 수 있습니다.

exec 패키지 소개

exec 패키지는 외부 명령을 실행하는 데 사용됩니다. 이 패키지는 os 패키지에서 제공되며, 명령을 실행하고 명령의 입력 및 출력을 다룰 수 있는 기능을 제공합니다.

예제: 파이프라인 처리 구현

다음은 exec 패키지를 사용하여 파이프라인 처리를 구현하는 예제 코드입니다.

package main

import (
	"fmt"
	"io"
	"os"
	"os/exec"
)

func main() {
	cmd1 := exec.Command("echo", "Hello")
	cmd2 := exec.Command("grep", "H")

	stdout1, _ := cmd1.StdoutPipe()
	cmd1.Start()

	stdin2, _ := cmd2.StdinPipe()
	stdout2, _ := cmd2.StdoutPipe()
	cmd2.Start()

	io.Copy(stdin2, stdout1)
	io.Copy(os.Stdout, stdout2)
}

위의 코드는 “Hello”라는 문자열을 출력한 후, “H”라는 문자를 필터링하여 출력하는 파이프라인 처리를 구현한 예제입니다.

결론

exec 패키지를 이용하여 파이프라인 처리를 구현하면, go 언어를 사용하여 복잡한 작업을 보다 간편하게 처리할 수 있습니다. exec 패키지의 다양한 기능을 활용하여 원하는 작업을 자유롭게 구현해 보세요.

더 많은 정보를 원하시면 아래 공식 문서를 참고하세요.

exec 패키지 공식 문서