accueil > Traitement et recherche de texte > paste

paste : Fusionner et afficher des fichiers

La commande `paste` fusionne les lignes correspondantes de plusieurs fichiers et les affiche sur la sortie standard. Elle est utilisée pour joindre les lignes de chaque fichier avec un délimiteur, les combinant ainsi horizontalement. Ceci est utile pour combiner des fichiers de données ou pour restructurer des données dans un format spécifique.

Aperçu

La commande `paste` récupère le contenu des mêmes numéros de ligne à partir de plusieurs fichiers d'entrée et les combine en une seule ligne. Par défaut, elle utilise un caractère de tabulation (tab) pour séparer le contenu de chaque fichier, mais vous pouvez spécifier un délimiteur personnalisé à l'aide de l'option `-d`.

Caractéristiques principales

  • Fusionne horizontalement les lignes de plusieurs fichiers
  • Permet de spécifier un délimiteur personnalisé (option `-d`)
  • Traite les données depuis l'entrée standard ou des fichiers
  • Utile pour créer des fichiers CSV ou TSV simples

Options principales

Délimiteur et méthode de traitement

Commande générée :

Essayez de combiner les commandes.

Description:

`paste` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Utilisation de base (délimiteur tabulation)

echo "apple\nbanana" > fruits.txt
echo "red\nyellow" > colors.txt
paste fruits.txt colors.txt

Fusionne le contenu de deux fichiers ligne par ligne, séparé par une tabulation.

Fusion avec une virgule (,)

echo "apple\nbanana" > fruits.txt
echo "red\nyellow" > colors.txt
paste -d ',' fruits.txt colors.txt

Utilise l'option `-d` pour spécifier une virgule comme délimiteur.

Fusion avec un espace

echo "apple\nbanana" > fruits.txt
echo "red\nyellow" > colors.txt
paste -d ' ' fruits.txt colors.txt

Utilise un espace comme délimiteur pour fusionner le contenu des fichiers.

Utilisation de plusieurs délimiteurs en alternance

echo "1\n2\n3" > file1.txt
echo "A\nB\nC" > file2.txt
echo "X\nY\nZ" > file3.txt
paste -d ',=' file1.txt file2.txt file3.txt

Si plusieurs délimiteurs sont spécifiés avec l'option `-d`, ils sont appliqués circulairement à chaque fichier.

Utilisation avec l'entrée standard

echo "1\n2\n3" | paste -d ',' - <(echo "A\nB\nC")

Utilise `-` au lieu d'un nom de fichier pour utiliser l'entrée standard comme entrée pour `paste`.

Traitement séquentiel (option -s)

echo "1\n2\n3" > num.txt
echo "A\nB\nC" > char.txt
paste -s num.txt char.txt

Utilise l'option `-s` pour traiter d'abord toutes les lignes d'un fichier avant de passer au fichier suivant.

Conseils et précautions

La commande `paste` est un outil de traitement de texte simple mais puissant. Elle peut être particulièrement utile pour créer des fichiers CSV ou analyser des fichiers journaux.

Conseils d'utilisation

  • **Utilisation de plusieurs délimiteurs** : Si vous spécifiez plusieurs caractères avec l'option `-d`, les délimiteurs sont appliqués circulairement à chaque fichier d'entrée. Par exemple, `paste -d ',|' file1 file2 file3` utilise `,` entre `file1` et `file2`, et `|` entre `file2` et `file3`.
  • **Traitement de l'entrée standard** : L'utilisation de `-` au lieu d'un nom de fichier permet d'utiliser l'entrée standard comme entrée pour `paste`. C'est très utile dans les pipelines.
  • **Combinaison avec d'autres commandes** : Vous pouvez effectuer des manipulations de données plus complexes en combinant `paste` avec d'autres commandes de traitement de texte comme `cut`, `awk`, `sed`. Par exemple, vous pouvez extraire des colonnes spécifiques avec `cut` puis les fusionner avec `paste`.
  • **Traitement des lignes vides** : Si un fichier d'entrée contient des lignes vides, `paste` insère une chaîne vide à cet endroit et n'affiche que le délimiteur.

Commandes de la même catégorie