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 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