Comment puis-je utiliser la sortie de awk dans une autre commande?
Donc j'ai besoin de convertir une date dans un format différent. Avec un bash pipeline, je prends la date de la dernière connexion à la console, et en tirant pertinentes bits avec awk, comme suit:
last $USER | grep console | head -1 | awk '{print $4, $5}'
Sorties: Aug 08
($4=Août de 5 $=08, dans ce cas.)
Maintenant, je veux prendre 'Août 08' et le mettre dans un date
de commande pour modifier le format d'une date numérique.
Qui ressemblerait à quelque chose comme ceci:
date -j -f %b\ %d Aug\ 08 +%m-%d
Sorties: 08-08
La question que je me pose est, comment puis-je ajouter à mon pipeline et d'utiliser les variables awk $4 et $5 où 'Août 08' est que de la date de commande?
Vous êtes en train de demander comment utiliser le sortie de awk, de ne pas les variables, dans l'autre commande.
Quelle est la version de
Vous ne savez pas le numéro exact de la version-ne pas avoir toute sorte de --version sortie. C'est un BSD construire sur Mac OSX, j'ai donc monté la date d'options en fonction de la page de man sur OS X 10.6. Que l'intention de lancer le script sur les clients mac, mais merci pour l'info, il va être utile si j'ai besoin de faire quelque chose de similaire sur Linux.
Quelle est la version de
date
(et le système d'exploitation, etc.)? GNU date n'a pas -j
et il utilise -f
pour la lecture à partir d'un fichier. Votre commande devrait être date -d Aug\ 08 +%m-%d
Vous ne savez pas le numéro exact de la version-ne pas avoir toute sorte de --version sortie. C'est un BSD construire sur Mac OSX, j'ai donc monté la date d'options en fonction de la page de man sur OS X 10.6. Que l'intention de lancer le script sur les clients mac, mais merci pour l'info, il va être utile si j'ai besoin de faire quelque chose de similaire sur Linux.
OriginalL'auteur | 2010-08-10
Vous devez vous connecter pour publier un commentaire.
Vous avez juste besoin d'utiliser la substitution de commande:
Bash évaluera la commande/pipeline à l'intérieur de la
$(...)
et place le résultat.OriginalL'auteur Cascabel
Obtenir
awk
appelerdate
:Ou de l'utilisation du processus de substitution pour récupérer la sortie de
awk
:OriginalL'auteur Gilles
Je suppose que vous avez déjà essayé?
OriginalL'auteur dockeryZ
Utilisant les tiques doivent travailler pour obtenir la sortie de votre long pipeline en date.
$(...)
de backticks. Ils peuvent être imbriqués.OriginalL'auteur Starkey