[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 패키지의 다양한 기능을 활용하여 원하는 작업을 자유롭게 구현해 보세요.
더 많은 정보를 원하시면 아래 공식 문서를 참고하세요.