[commande UNIX] transformer colonne en ligne

Résolu/Fermé
Celeborn
Messages postés
22
Date d'inscription
mardi 27 février 2007
Statut
Membre
Dernière intervention
26 avril 2009
- 9 mars 2007 à 10:49
jipicy
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
- 15 oct. 2007 à 14:03
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

jipicy
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 900
9 mars 2007 à 11:13
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
mimit73
Messages postés
111
Date d'inscription
jeudi 21 septembre 2006
Statut
Membre
Dernière intervention
17 février 2010
34
9 mars 2007 à 11:13
Salut à toi,

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

exple:

cat nom_du_fichier | tr -d "\n"

A+
0
mikelangelo74
15 oct. 2007 à 14:00
Et comment faire si l'on voulait retenir seulement 7 colonnes par lignes?
0
jipicy
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 900
15 oct. 2007 à 14:03
Peut être comme çà alors... ;-))
0