<Précédent | Table des matières | Suivant>
paste
Le paste commande fait le contraire de cut. Plutôt que d'extraire une colonne de texte d'un fichier, il ajoute une ou plusieurs colonnes de texte à un fichier. Pour ce faire, il lit plusieurs fichiers et combine les champs trouvés dans chaque fichier en un seul flux sur la sortie standard. Comme cut, paste accepte plusieurs arguments de fichier et/ou entrée standard. Pour montrer comment paste opère, nous allons effectuer une intervention chirurgicale sur notre distributions.txt pour produire une liste chronologique des versions.
De nos précédents travaux avec sort, nous allons d'abord produire une liste de distributions triées par date et stocker le résultat dans un fichier appelé distributions-par-date.txt:
[moi@linuxbox ~]$ sort -k 3.7nbr -k 3.1nbr -k 3.4nbr distros.txt > dis tros-by-date.txt
[moi@linuxbox ~]$ sort -k 3.7nbr -k 3.1nbr -k 3.4nbr distros.txt > dis tros-by-date.txt
Ensuite, nous utiliserons cut pour extraire les deux premiers champs du fichier (le nom et la version de la distribution) et stocker ce résultat dans un fichier nommé versions-distro.txt:
[moi@linuxbox ~]$ cut -f 1,2 distributions-par-date.txt > distributions-versions.t xt
[moi@linuxbox ~]$ tête distributions-versions.txt
Fedora | 10 |
Ubuntu | 8.10 |
SUSE | 11.0 |
Fedora | 9 |
Ubuntu | 8.04 |
Fedora | 8 |
Ubuntu | 7.10 |
SUSE | 10.3 |
Fedora | 7 |
Ubuntu | 7.04 |
La dernière étape de la préparation consiste à extraire les dates de sortie et à les stocker dans un fichier nommé
dates-distribution.txt :
[moi@linuxbox ~]$ cut -f 3 distributions-par-date.txt > distributions-dates.txt
[moi@linuxbox ~]$ tête distributions-dates.txt
11/25/2008
10/30/2008
06/19/2008
05/13/2008
04/24/2008
11/08/2007
10/18/2007
10/04/2007
05/31/2007
04/19/2007
[moi@linuxbox ~]$ cut -f 3 distributions-par-date.txt > distributions-dates.txt
[moi@linuxbox ~]$ tête distributions-dates.txt
11/25/2008
10/30/2008
06/19/2008
05/13/2008
04/24/2008
11/08/2007
10/18/2007
10/04/2007
05/31/2007
04/19/2007
Nous avons maintenant les pièces dont nous avons besoin. Pour terminer le processus, utilisez paste pour placer la colonne de dates avant les noms et versions de distribution, créant ainsi une liste chronologique. Cela se fait simplement en utilisant paste et en ordonnant ses arguments dans l'arrangement souhaité :
[moi@linuxbox | ~]$ paste | distributions-dates.txt distributions-versions.txt |
11/25/2008 | Fedora | 10 |
10/30/2008 | Ubuntu | 8.10 |
06/19/2008 | SUSE | 11.0 |
05/13/2008 | Fedora | 9 |
04/24/2008 | Ubuntu | 8.04 |
11/08/2007 | Fedora | 8 |
10/18/2007 | Ubuntu | 7.10 |
10/04/2007 | SUSE | 10.3 |
05/31/2007 | Fedora | 7 |
04/19/2007 | Ubuntu | 7.04 |
12/07/2006 | SUSE | 10.2 |
10/26/2006 | Ubuntu | 6.10 |
10/24/2006 | Fedora | 6 |
06/01/2006 | Ubuntu | 6.06 |
05/11/2006 | SUSE | 10.1 |
03/20/2006 | Fedora | 5 |