라인 필터(Line Filters)는 표준입력 혹은 파일로 부터 읽은 데이터를 변형해서 출력하기 위해서 사용한다. grep이나 sed 같은 프로그램들이 전형적인 라인필터 프로그램이다. grep 같은 경우 데이터를 줄 단위로 읽어서 일치하는 문자열이 있으면 출력하고, sed는 문자열을 치환하거나 삭제하는 등의 일을 한다.
bufio.NewScanner를 이용해서 표준입력(os.Stdin)을 스캔하도록 했다. Scan관련 메서드는 입력 문자열의 다음 토큰을 찾는 일을 한다. 기본 토큰은 개행문자("\n")다. for 문으로 Scan 을 호출하면, 줄단위로 문자열을 읽는다. 그리고 ToUpper 메서드를 이용해서 대문자로 변경 한 다음 출력한다.
이 코드는 아래와 같이 테스트 할 수 있다.
$ echo 'hello' > /tmp/lines
$ echo 'filter' >> /tmp/lines
$ cat /tmp/lines | go run line-filters.go
HELLO
FILTER
예제로 살펴보는 Go : Line Filters
Recent Posts
Archive Posts
Tags