50 lines
584 B
Go
50 lines
584 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"io"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
var fat_table []string = []string{
|
|
"<",
|
|
">",
|
|
":",
|
|
"\"",
|
|
"/",
|
|
"\\",
|
|
"|",
|
|
"?",
|
|
"*",
|
|
}
|
|
|
|
func fatten(stdin bool, data string) {
|
|
for _, i := range fat_table {
|
|
data = strings.ReplaceAll(data, i, "_")
|
|
}
|
|
if stdin {
|
|
fmt.Print(data)
|
|
} else {
|
|
fmt.Println(data)
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
if len(flag.Args()) > 0 {
|
|
for _, i := range flag.Args() {
|
|
fatten(false, i)
|
|
}
|
|
} else {
|
|
stdin, err := io.ReadAll(os.Stdin)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
fatten(true, string(stdin))
|
|
}
|
|
|
|
os.Exit(0)
|
|
}
|