GNU/Linux >> Tutoriels Linux >  >> Linux

Transformer plusieurs lignes en une seule ligne séparée par des virgules

Il existe de nombreuses façons d'y parvenir. L'outil que vous utilisez dépend principalement de vos préférences ou de votre expérience.

Utilisation de la commande tr :

tr '\n' ',' < somefile

Utilisation d'awk :

awk -F'\n' '{if(NR == 1) {printf $0} else {printf ","$0}}' somefile

Utilisation de la commande coller :

paste -d, -s file

fichier

aaa
bbb
ccc
ddd

xargs

cat file | xargs

résultat

aaa bbb ccc ddd 

xargs amélioré

cat file | xargs | sed -e 's/ /,/g'

résultat

aaa,bbb,ccc,ddd 

xargs -a your_file | sed 's/ /,/g'

C'est un chemin plus court.


Linux
  1. Concaténer des fichiers spécifiques en un seul fichier ?

  2. Comment déplacer une ligne vers le haut ou vers le bas d'une ligne dans un fichier texte ?

  3. Linux - Diviser une seule ligne en plusieurs lignes, caractère de saut de ligne manquant pour toutes les lignes du fichier d'entrée ?

  4. Collez deux listes de texte (une liste par fichier) dans une liste séparée par un point-virgule

  5. Comment ajouter le contenu de plusieurs fichiers dans un seul fichier

Comment joindre plusieurs lignes en une seule dans un fichier sous Linux

Comment joindre/fusionner plusieurs fichiers audio en un seul sous Linux

Comment trouver la ou les lignes les plus longues dans un fichier sous Linux

Cat ligne X à ligne Y sur un énorme fichier ?

Comment ajouter plusieurs lignes à un fichier ?

Comment supprimer plusieurs lignes dans Vim