Je reluquer à ma disposition et j'ai le texte suivant je souhaite formater:Comment est-ce que je pourrais mettre en forme le titre qui inclut une date utilisant gawk et sed?
Trip.to.Washington.2004.08...
Florida.1993.12...
Aunt.Rose.2011.06...
Je voudrais qu'il apparaisse comme suit:
Trip to Washington (2004)
Florida (1993)
Aunt Rose (2011)
Le nombre de mots dans le titre varie tout comme la quantité de mots suivant l'année. Le séparateur est parfois un espace blanc plutôt qu'une période.
Edit:
j'ai pu obtenir la sortie désirée à l'aide:
echo Trip.to.Washington.2004.08... |
sed -n 's/\([0-9][0-9][0-9][0-9]\).*/\1/p' |
gawk 'BEGIN { FS="." } { print $1" "$2" "$3" ("$NF")" }'
qui retourne:
Trip to Washington (2004)
Le problème est que cela échouera s'il y a plus ou moins , mots dans le titre. Il échouera également si les mots sont séparés par autre chose qu'un point.
J'ai aussi trouvé qu'il est possible de retourner tous les domaines, sauf pour le dernier champ à l'aide:
awk '{$NF=""; print $0}' file
Malheureusement, mon expérience avec gawk est très limitée. Je n'ai aucune idée de comment utiliser correctement cette déclaration dans mon gawk existant.
J'ai modifié mon post pour inclure mes tentatives. –