Aller au contenu

Filtres ligne par ligne

Les filtres ligne par ligne lisent l’entrée ligne par ligne (depuis stdin ou un fichier) et transforment chaque ligne. Courant dans les pipelines Unix. Utilisez bufio.Scanner pour lire les lignes.

Un filtre qui convertit chaque ligne en majuscules.

package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
ligne := scanner.Text()
fmt.Println(strings.ToUpper(ligne))
}
if err := scanner.Err(); err != nil {
fmt.Fprintln(os.Stderr, "erreur :", err)
os.Exit(1)
}
}
Fenêtre de terminal
BONJOUR
MONDE