J'utilise awk pour calculer des sommes et je veux les stocker dans un fichier.obtenir le résultat de awk et l'imprimer dans un fichier
ici est mon fichier d'entrée:
misses 15
hit 18
misses 20
hit 31
Je veux imprimer les misses au total, et au total dans un succès fichier.
Si je lance ceci:
awk 'BEGIN { hits=0; misses=0; } /^hit/{ hits+=$2}; /^misses/{misses+=$2}; END {print "Hits: " hits "\nMisses: " misses }' t.txt
je les vois dans le terminal.
Maintenant, je veux écrire le dans un fichier:
J'ai essayé ceci:
#!/bin/bash
awk 'BEGIN { hits=0; misses=0; } /^hit/{ hits+=$2}; /^misses/{misses+=$2}; END {print "Hits: " hits "\nMisses: " misses }' t.txt
echo misses $misses > $1; #first one overwrites the previous $1 is the argument given in the command line
echo hits $hits>> $1; # all the othes append to the .txt file
mais $misses, and $hits
n'ont pas de valeur.
J'ai aussi essayé ceci:
#!/bin/bash
result= $(echo $output | awk 'BEGIN { hits=0; misses=0; } /^hit/{ hits+=$2}; /^misses/{misses+=$2}; END {print "Hits: " hits "\nMisses: " misses }' t.txt)
# $NF if I want the last column
echo $result
que j'ai vu sur le web, afin de voir ce que $ result me retourner, mais je reçois cette erreur:
./test2.sh: line 2: Hits:: command not found