[commande UNIX] transformer colonne en ligne [Résolu/Fermé]

Signaler
Messages postés
22
Date d'inscription
mardi 27 février 2007
Statut
Membre
Dernière intervention
26 avril 2009
-
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
-
Bonjour,
j'ai extrait une colonne d'un fichier avec awk
cependant, j'aimerais pouvoir transformer ce fichier colonne en fichier ligne pour l'utilisé comme vecteur dans matlab.

existe-t-il une procédure et/ou commande permettant de faire ceci ?
merci d'avance

3 réponses

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 856
Salut,

Avec "awk" tu as la possibilité de préciser le séparateur de champs en sortie grace à la variable "ORS".

Par exemple pour extraire les noms de tous les utilisateurs du fichier "/etc/passwd" sur une seule ligne séparés par un espace :
cat /etc/passwd | awk 'BEGIN { FS=":"; ORS=" "}{ print $1 }'
Une alternative sans modifier la variable "ORS", mais en utilisant la fonction "printf":
cat /etc/passwd | awk -F: '{ printf "%s ",$1 }'
;-))
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
111
Date d'inscription
jeudi 21 septembre 2006
Statut
Membre
Dernière intervention
17 février 2010
34
Salut à toi,

tu peux utiliser la commande 'tr' pour supprimer les sauts de ligne.

exple:

cat nom_du_fichier | tr -d "\n"

A+

Et comment faire si l'on voulait retenir seulement 7 colonnes par lignes?
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 856
Peut être comme çà alors... ;-))