Comment passer AWK sortie en variable?
J'ai un petit script bash qui grep/awk paragraphe en utilisant un mot-clé.
Mais après l'ajout dans les codes supplémentaires : set var = "(......)"
il imprime une ligne vide et non le paragraphe.
Donc je voudrais vous demander si quelqu'un sait comment passer le awk sortie dans une variable de sortie?
Mes codes:
#!/bin/sh
set var = "(awk 'BEGIN{RS=ORS="\n\n";FS=OFS="\n"}/FileHeader/' /root/Desktop
/logs/Default.log)"
echo $var;
Merci!
- Prenez l'habitude de toujours mettre des guillemets doubles autour de variables:
echo "$var"
. Ce sont généralement les morsures des utilisateurs avec des noms de fichiers contenant des espaces.
Vous devez vous connecter pour publier un commentaire.
Utilisation la substitution de commande pour capturer la sortie d'un processus.
des conseils généraux en ce qui concerne les scripts shell:
`COMMAND`
ou, dans une paire de parenthèses précédées d'un signe dollar,$(COMMAND)
.set
et vous ne pouvez pas avoir des espaces avant et après le=
.Essayez ceci:
Vous m'avez donné l'idée de ce pour le meurtre d'un processus :). Juste le chrome pour quelque procédé que ce soit que vous voulez tuer.
Essayez ceci:
ps -C
argument, comme dansps -C chromium
. L'utilisation de grep avec ps de sortie de ce genre de finalement revenir à vous mordre quand il y a un nom de fichier ouvert dans vim ou quelque chose qui correspond à la commande grepping pour. Et vous pouvez spécifier que le pid être dans la sortie, l'enregistrement awk en utilisantps -C chromium -o pid=
.killall chromium
, je suppose 😉à tout moment vous voyez grep canalisations de awk, vous pouvez déposer la commande grep. pour le haut,
awk peut facilement remplacer n'importe quel texte de commande, comme couper la queue, wc, tr etc. et especally plusieurs grep canalisations uns à côté des autres. j'.e
Essayez de créer une variable provenant de la voûte/Hashicorp, lors de l'utilisation de packer les variables de modèle, comme suit:
Vous pouvez à la même chose avec
grep ^user