logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:systeme:commandes:les-commandes-join-paste-split-et-nl [07/06/2014 08:27]
Hypathie créée
doc:systeme:commandes:les-commandes-join-paste-split-et-nl [07/06/2014 19:01]
Hypathie [sort]
Ligne 1: Ligne 1:
-====== Les commandes : join, paste, split, et nl ======+====== Les commandes : d'​autres commandes pour la gestion des fichiers-texte ​======
  
-  * Objet : d'​autres commandes ​de gestion de fichiers texte+  * Objet : Voici d'​autres commandes ​pour la gestion de fichiers texte
   * Niveau requis : {{tag>​débutant }}   * Niveau requis : {{tag>​débutant }}
   * Commentaires : //Contexte d'​utilisation du sujet du tuto. // FIXME   * Commentaires : //Contexte d'​utilisation du sujet du tuto. // FIXME
Ligne 17: Ligne 17:
   *[[doc:​systeme:​commandes:​le_debianiste_qui_papillonne#​les-fichiers|Les autres commandes sur les fichiers]]\\   *[[doc:​systeme:​commandes:​le_debianiste_qui_papillonne#​les-fichiers|Les autres commandes sur les fichiers]]\\
   *[[doc:​systeme:​commandes:​creer#​trouver-un-fichier|Trouver un fichier]]   *[[doc:​systeme:​commandes:​creer#​trouver-un-fichier|Trouver un fichier]]
 +  *[[doc:​systeme:​expand|commande expand]]
 +  *[[doc:​systeme:​split|commande split]]
  
 =====La commande join ===== =====La commande join =====
 +===Syntaxe de la commande join ===
 +<code user>
 +join [options]... fichier1 fichier2
 +</​code>​
 +===Préparation===
 +Soit deux fichiers : "​users"​ et "​infos-users"​
  
 +<code user>
 +cat ~/​Essai-text-processing/​users
 +</​code>​
 +retour :
 +<​code>​
 +01 Toto
 +02 Titi
 +03 Lili
 +</​code>​
 +
 +<code user>
 +cat ~/​Essai-text-processing/​infos-users
 +</​code>​
 +
 +Retour :
 +<​code>​
 +toto@gmail.com 01
 +titi@gmx.fr 02
 +lili@hotmail.com 03
 +</​code>​
 +
 +===Fusion de ces deux fichiers ===
 +
 +<​code>​
 +join -1 1 -2 2 ~/​Essai-text-processing/​users ~/​Essai-text-processing/​infos-users
 +</​code>​
 +  * option -1 : donne le n° de colonne du champ commun, pour le premier document
 +  * 1 : premier fichier
 +  * option -2 : n° de colonne du champ commun, pour le deuxième document
 +  * 2 : deuxième fichier
 +  * -j option CHAMP : équivalent à « -1 CHAMP -2 CHAMP »
 +  * -i : ignorer ​ les  différences ​ de  casse 
 +  * voir man join pour plus d'​option
 +
 +Retour :
 +<​code>​
 +01 Toto toto@gmail.com
 +02 Titi titi@gmx.fr
 +03 Lili lili@hotmail.com
 +</​code>​
 +<​note>​
 +Pour fusionner des fichiers qui ont en commun ":"​\
 +join -t':'​ -2 1 -2 2 fichier1 fichier2
 +</​note>​
 +
 +=== concaténation de la fusion dans un fichier===
 +<code user>
 +join -1 1 -2 2 ~/​Essai-text-processing/​users ~/​Essai-text-processing/​infos-users > ~/​Essai-text-processing/​adr-users
 +</​code>​
 +===vérification ===
 +<code user>
 +cat ~/​Essai-text-processing/​adr-users
 +</​code>​
 +
 +<​code>​
 +01 Toto toto@gmail.com
 +02 Titi titi@gmx.fr
 +03 Lili lili@hotmail.com
 +</​code>​
 =====La commande paste ===== =====La commande paste =====
 +===Syntaxe de la commande paste ===
 +
 +  paste [options]... [fichier]...
 +
 +La jointure se fait selon lignes à ligne, donc il faut des fichiers avec des lignes rangées dans le même ordre.
 +===Préparation ===
 +Visualisons les deux fichiers concernés, "​users"​ et "​infos-users"​
 +<code user>
 +cat ~/​Essai-text-processing/​users
 +# retour :
 +01 Toto
 +02 Titi
 +03 Lili
 +
 +cat ~/​Essai-text-processing/​infos-users
 +#retour : 
 +toto@gmail.com 01
 +titi@gmx.fr 02
 +lili@hotmail.com 03
 +</​code>​
 +
 +===Regroupement des lignes des deux fichiers ===
 +Retour:
 +
 +<code user>
 +paste ~/​Essai-text-processing/​users ~/​Essai-text-processing/​infos-users
 +</​code>​
 +
 +Retour :
 +
 +<​code>​
 +01 Toto toto@gmail.com 01
 +02 Titi titi@gmx.fr 02
 +03 Lili lili@hotmail.com 03
 +</​code>​
 +===Concaténation du retour dans un fichier "​paste-users-infos"​ qui sera créé===
 +
 +<code user>
 +paste ~/​Essai-text-processing/​users ~/​Essai-text-processing/​infos-users > ~/​Essai-text-processing/​paste-users-infos
 +</​code>​
 +
 +=== Vérification ===
 +<code user>
 +01 Toto toto@gmail.com 01
 +02 Titi titi@gmx.fr 02
 +03 Lili lili@hotmail.com 03
 +</​code>​
 +
 +===== sort =====
 +===Syntaxe===
 +
 +  sort [options [+POS1] [-POS2]] [fichier...]
 +
 +===Préparation===
 +
 +Soit le fichier "​~/​Essai-text-processing/​users.sort"​
 +<code user>
 +cat ~/​Essai-text-processing/​users.sort
 +# Retour
 +5 Papi
 +1 Toto
 +3 Lili
 +2 Titi
 +4 Mami
 +003 Zaza
 +01 Nani
 +</​code>​
 +=== tri par défaut===
 +<code user>
 +sort ~/​Essai-text-processing/​users.sort
 +# Retour :
 +003 Zaza
 +01 Nani
 +1 Toto
 +2 Titi
 +3 Lili
 +4 Mami
 +5 Papi
 +</​code>​
 +
 +===Tri alphabétique d'une simple colonne===
 +
 +<code user>
 +cat ~/​Essai-text-processing/​sort.abc
 +# Retour:
 +tomate
 +fraise
 +abricot
 +ananas
 +kiwi
 +pomme
 +</​code>​
 +
 +<code user>
 +sort ~/​Essai-text-processing/​sort.abc
 +# Retour:
 +abricot
 +ananas
 +fraise
 +kiwi
 +pomme
 +tomate
 +</​code>​
 +
 +===Tri avec choix de colonne ===
 +<code user>
 +cat ~/​Essai-text-processing/​sort.abc
 +# Retour :
 +tomate:4
 +fraise:1
 +abricot:2
 +ananas:6
 +kiwi:5
 +pomme:3
 +</​code>​
 +
 +<code user>
 +sort -t':'​ -k 2n ~/​Essai-text-processing/​sort.abc
 +fraise:1
 +abricot:2
 +pomme:3
 +tomate:4
 +kiwi:5
 +ananas:6
 +</​code>​
 +
 +<note tip>
 +Les options très utiles:
 +  * -t : pour spécifier le séparateur (par défaut ce sont les espaces ou les tabulations qui délimitent les colonnes)
 +  * -k : pour spécifier la colonne
 +  * -2 : n° de colonne
 +  * -n : pour spécifier qu'il s'agit d'un tri numérique ​
 +  * -d : pour tri dictionnaire
 +  * -r : pour un tri inverse (-rn ou -rd)
 +  * -M : ordre chronologique
 +</​note>​
 +===Tri selon plusieurs colonnes ===
 +<code user>
 +cat ~/​Essai-text-processing/​sort.123abc
 +# Retour:
 +tomate:x:c
 +fraise:1
 +abricot:2
 +ananas:x:b
 +kiwi:x:a
 +pomme:3
 +</​code>​
 +
 +<code user>
 +sort -t':'​ -k 2n -k 3d ~/​Essai-text-processing/​sort.123abc
 +# Retour:
 +kiwi:x:a
 +ananas:x:b
 +tomate:x:c
 +fraise:1
 +abricot:2
 +pomme:3
 +</​code>​
 +
 +=== concaténer et créer un fichier avec la résultat===
 +<code user>
 +sort -t':'​ -k 2n -k 3d ~/​Essai-text-processing/​sort.123abc > ~/​Essai-text-processing/​sort.123abc.ok
 +</​code>​
 +
 +===Vérifier ===
 +
 +<code user>
 +cat ~/​Essai-text-processing/​sort.123abc.okkiwi:​x:​a
 +# Retour :
 +ananas:x:b
 +tomate:x:c
 +fraise:1
 +abricot:2
 +pomme:3
 +</​code>​
 +
 +=====la commande tr =====
 +Elle permet de traduire, c'​est-à-dire,​ changer des lettres
 +===Syntaxe ===
 +
 +  tr [options] ens1 ens2
 +
 +===Exemples ===
 +<code user>
 +cat ~/​Essai-text-processing/​tr-essai
 +# retour:
 +Pierre Paul Jacques
 +</​code>​
 +
 +<code user>
 +tr P p  < ~/​Essai-text-processing/​tr-essai
 +pierre paul Jacques
 +</​code>​
 +
 +<code user>
 +cat ~/​Essai-text-processing/​tr-essai
 +# retour:
 +Pierre Paul Jacques
 +</​code>​
 +
 +<code user>
 +tr P X  < ~/​Essai-text-processing/​tr-essai
 +Xierre Xaul Jacques
 +</​code>​
 +
 +<code user>
 +cat ~/​Essai-text-processing/​tr-essai
 +# retour :
 +Pierre Paul Jacques
 +</​code>​
 +
 +<code user>
 +tr PJ pj < ~/​Essai-text-processing/​tr-essai
 +pierre paul jacques
 +</​code>​
 +
 +
  
-=====La commande ​split =====+=====La commande ​uniq =====
  
 =====La commande nl ===== =====La commande nl =====
  
  
doc/systeme/commandes/les-commandes-join-paste-split-et-nl.txt · Dernière modification: 06/11/2015 17:57 par paskal

Pied de page des forums

Propulsé par FluxBB