Y a-t-il un moyen de faire cela sans fichier temporaire?
J'ai essayé avec tee
mais ç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 astyle
fait 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?