paste

La commande paste concatène les lignes de même niveau des fichiers passés en argument. Avec l'option -s, chaque fichier est traité de manière indépendante et verra toutes ses lignes concaténées en une seule. Les éléments concaténés sont séparés par une tabulation.

Syntaxe

paste [options] [fichiers ...]
Principales options :
-s : Concaténer toutes les lignes en une seule
-d listesep : Les caractères cités dans listesep seront utilisés pour séparer les champs en sortie

Exemple

Exemple avec 2 fichiers contenant les dépenses d'un ménage pour le mois de janvier 2012 et février 2012. Les catégories sont mentionnées dans le même ordre.

$ cat janvier2012
Alimentation    50.00
Eau             25.00
Electricite     123.50
Loyer           456.90
Assurances      234.00
 
$ cat fevrier2012
Alimentation    67.00
Eau             34.00
Electricite     156.00
Loyer           456.90
Assurances      225.00
$

Mettre sur la même ligne les montants de chaque catégorie.

$ paste janvier2012 fevrier2012
Alimentation    50.00   Alimentation    67.00
Eau             25.00   Eau             34.00
Electricite     123.50  Electricite     156.00
Loyer           456.90  Loyer           456.90
Assurances      234.00  Assurances      225.00
$

Retirer la 3ème colonne et ajouter des en-têtes de colonnes et le total pour chaque mois.

$ paste janvier2012 fevrier2012 | awk 'BEGIN{printf("%-15s\t%7s\t%7s\n","POSTE","JANVIER","FEVRIER")}{printf("%-15s\t%7.2f\t%7.2f\n",$1,$2,$4);jan+=$2;fev+=$4}END{printf("%-15s\t%7.2f\t%7.2f\n","TOTAL",jan,fev)}'
POSTE           JANVIER FEVRIER
Alimentation      50.00   67.00
Eau               25.00   34.00
Electricite      123.50  156.00
Loyer            456.90  456.90
Assurances       234.00  225.00
TOTAL            889.40  938.90
$

Concaténer toutes les lignes en une seule.

$ paste -s janvier2012 fevrier2012
Alimentation    50.00   Eau             25.00   Electricite     123.50  Loyer           456.90  Assurances      234.00
Alimentation    67.00   Eau             34.00   Electricite     156.00  Loyer           456.90  Assurances      225.00
$

Etiquettes: 

Ajouter un commentaire

Filtered HTML

  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage.
CAPTCHA visuel
Entrez les caractères (sans espace) affichés dans l'image.