Y a-t-il un moyen de faire cela sans fichier temporaire?
J'ai essayé avec teemais ça a échoué.
Cas de test:
>echo "foo bar" > ex2.go
>type ex2.go
"foo bar"
>type ex2.go > ex2.go
>type ex2.go
Le problème spécifique est avec Go:
G:\gocode\vimeo-examples>gofmt.exe ex2.go > ex2.go
ex2.go:1:1: expected 'package', found 'EOF'
À lui seul, gofmt( docs ) crée un format de code et le renvoie sur stdout. Je préférerais qu'il formate le code en place, comme le astylefait le fait.
tee...
>, cela efface d' abord le fichier de sortie. Si vous l'utilisez>>, vous conservez le contenu existant et ajoutez la sortie (ce qui n'est pas ce que vous voulez). Fondamentalement, vous devez utiliser un fichier temporaire si vous souhaitez utiliser>. Pourquoi ne pas simplement créer un fichier de commandes qui lance GoFmt, puis nettoie le fichier temporaire pour vous?