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

Les deux révisions précédentes Révision précédente
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 [10/07/2014 09:30]
Hypathie [la commande tr]
doc:systeme:commandes:les-commandes-join-paste-split-et-nl [08/10/2015 18:13]
milou [la commande fmt]
Ligne 2: Ligne 2:
  
   * Objet : Voici d'​autres commandes pour la gestion de fichiers texte   * Objet : Voici d'​autres commandes pour la gestion de fichiers texte
-  * Niveau requis : {{tag>grand-débutant }}+  * Niveau requis : {{tag>​débutant ​avisé}}
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
-  * Suivi : {{tag>​à-placer}} +  * Suivi : {{tag>​à-tester}} 
-    * Création par [[user>​Hypathie]] 07/​06/​2014 +    * Création par [[user>​Hypathie]] ​le 07/​06/​2014 
-    * Testé par <...> le <​...> ​FIXME+    * Testé par <...> le <​...> ​
   * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=92369#​p92369 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))   * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=92369#​p92369 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-**Nota : Voici des commandes très simples d'​utilisation. ** 
- 
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! 
  
 ===== Introduction ===== ===== Introduction =====
Ligne 20: Ligne 17:
 Nous allons aborder quelques commandes complémentaires permettant de : Nous allons aborder quelques commandes complémentaires permettant de :
  
-  * améliorer l'​affichage : fnt ; nl+  * améliorer l'​affichage : fmt ; nl
   * combiner le contenu de fichiers : join ; paste    * combiner le contenu de fichiers : join ; paste 
-  * transformer le contenu de fichier ​: sort ; split ; tr ; uniq ; expand et unexpand+  * transformer le contenu de fichiers ​: sort ; split ; tr ; uniq ; expand et unexpand
  
  
Ligne 36: Ligne 33:
 <code user> <code user>
 cat > ~/​Essai-text-processing/​essai-fmt <<EOF cat > ~/​Essai-text-processing/​essai-fmt <<EOF
-> chez debian-facile c'est facile ... très facile ... très très facile ... très très très très très très facile ... facile et encore facile !+> chez debian-facile c'est facile ... très facile ... très très facile ... très très très très très très facile ...  
 +facile et encore facile !
 > EOF > EOF
 </​code>​ </​code>​
Ligne 46: Ligne 44:
 cat ~/​Essai-text-processing/​essai-fmt cat ~/​Essai-text-processing/​essai-fmt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 chez debian-facile c'est facile ... très facile ... très très facile ... très tr chez debian-facile c'est facile ... très facile ... très très facile ... très tr
 ès très très très très facile ... facile et encore facile ! ès très très très très facile ... facile et encore facile !
-</code>+</file>
  
 >​L'​affichage avec la commande ''​cat''​ peut être difficile à lire. >​L'​affichage avec la commande ''​cat''​ peut être difficile à lire.
Ligne 57: Ligne 55:
 fmt ~/​Essai-text-processing/​essai-fmt fmt ~/​Essai-text-processing/​essai-fmt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 chez debian-facile c'est facile ... très facile ... très très facile chez debian-facile c'est facile ... très facile ... très très facile
 ... très très très très très très facile ... facile et encore ... très très très très très très facile ... facile et encore
 facile ! facile !
-</code>+</file>
 <​note>​ <​note>​
   * Par défaut, la commande ''​fmt''​ affiche le contenu d'un fichier par ligne de 75 caractères maximum.   * Par défaut, la commande ''​fmt''​ affiche le contenu d'un fichier par ligne de 75 caractères maximum.
 +
   * L'​option ''​-w''​ : pour indiquer le nombre de caractère par ligne   * L'​option ''​-w''​ : pour indiquer le nombre de caractère par ligne
 <code user> <code user>
 fmt -w 20 ~/​Essai-text-processing/​essai-fmt fmt -w 20 ~/​Essai-text-processing/​essai-fmt
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 chez debian-facile chez debian-facile
 c'est facile c'est facile
Ligne 78: Ligne 77:
 ... facile et ... facile et
 encore facile ! encore facile !
-</code>+</file>
 </​note>​ </​note>​
  
Ligne 85: Ligne 84:
 fmt -w 20 ~/​Essai-text-processing/​essai-fmt | less fmt -w 20 ~/​Essai-text-processing/​essai-fmt | less
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 chez debian-facile chez debian-facile
 c'est facile c'est facile
Ligne 96: Ligne 95:
 encore facile ! encore facile !
 (END) (END)
-</code>+</file>
   * Voir [[doc:​editeurs:​less| la commande less]]   * Voir [[doc:​editeurs:​less| la commande less]]
  
Ligne 131: Ligne 130:
    
 ===Affichage numéroté === ===Affichage numéroté ===
-<​code>​+<​code ​user>
 nl ~/​Essai-text-processing/​bashrc-bis nl ~/​Essai-text-processing/​bashrc-bis
-</​code ​user>+</​code>​
  
 <​code>​ <​code>​
-     1 # ~/.bashrc: executed by bash(1) for non-login shells. +1 # ~/.bashrc: executed by bash(1) for non-login shells. 
-     ​2 # see /​usr/​share/​doc/​bash/​examples/​startup-files (in the package bash-doc) +2 # see /​usr/​share/​doc/​bash/​examples/​startup-files (in the package bash-doc) 
-     ​3 # for examples +3 # for examples 
-       ​ +  
-     ​4 # If not running interactively,​ don't do anything +4 # If not running interactively,​ don't do anything 
-     ​5 case $- in +5 case $- in 
-     ​6     *i*) ;; +6     *i*) ;; 
-     ​7       *) return;; +7       *) return;; 
-     ​8 esac +8 esac
 </​code>​ </​code>​
  
Ligne 171: Ligne 169:
  
 <​note>​ <​note>​
-Par défaut la commande nl numérote les lignes non-vides.\+Par défaut la commande nl numérote les lignes non-vides.
   * Quelques options :\\   * Quelques options :\\
     - -b : numérotation des lignes vides     - -b : numérotation des lignes vides
Ligne 182: Ligne 180:
 =====La commande join ===== =====La commande join =====
 ===Syntaxe de la commande join === ===Syntaxe de la commande join ===
-<​code ​user>+<​code>​
 join [options]... fichier1 fichier2 join [options]... fichier1 fichier2
 </​code>​ </​code>​
Ligne 209: Ligne 207:
 ===Fusion de ces deux fichiers === ===Fusion de ces deux fichiers ===
  
-<​code>​+<​code ​user>
 join -1 1 -2 2 ~/​Essai-text-processing/​users ~/​Essai-text-processing/​infos-users join -1 1 -2 2 ~/​Essai-text-processing/​users ~/​Essai-text-processing/​infos-users
 </​code>​ </​code>​
Ligne 289: Ligne 287:
  
 === Vérification === === Vérification ===
-<​code ​user>+<​code>​
 01 Toto toto@gmail.com 01 01 Toto toto@gmail.com 01
 02 Titi titi@gmx.fr 02 02 Titi titi@gmx.fr 02
Ligne 295: Ligne 293:
 </​code>​ </​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 
-</​code>​ 
-<​code>​ 
-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 
-</​code>​ 
-<​code>​ 
-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 
-</​code>​ 
-<​code>​ 
-tomate 
-fraise 
-abricot 
-ananas 
-kiwi 
-pomme 
-</​code>​ 
- 
-<code user> 
-sort ~/​Essai-text-processing/​sort.abc 
-</​code>​ 
-<​code>​ 
-abricot 
-ananas 
-fraise 
-kiwi 
-pomme 
-tomate 
-</​code>​ 
- 
-===Tri avec choix de colonne === 
-<code user> 
-cat ~/​Essai-text-processing/​sort.abc 
-</​code>​ 
-<​code>​ 
-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 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 
-</​code>​ 
-<​code>​ 
-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 
-</​code>​ 
-<​code>​ 
-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 
-</​code>​ 
-<​code>​ 
-ananas:x:b 
-tomate:x:c 
-fraise:1 
-abricot:2 
-pomme:3 
-</​code>​ 
  
 =====la commande tr ===== =====la commande tr =====
Ligne 491: Ligne 354:
 <code user> <code user>
 cat ~/​Essai-text-processing/​users-uniq cat ~/​Essai-text-processing/​users-uniq
-# Retour:+</​code>​ 
 +<​code>​
 Papi Papi
 1 Toto 1 Toto
Ligne 500: Ligne 364:
 01 Nani 01 Nani
 </​code>​ </​code>​
-===ajouter ​une ligne===+===Ajouter ​une ligne===
 <code user> <code user>
 echo 01 Nani >> ~/​Essai-text-processing/​users-uniq echo 01 Nani >> ~/​Essai-text-processing/​users-uniq
Ligne 508: Ligne 372:
 <code user> <code user>
 cat ~/​Essai-text-processing/​users-uniq cat ~/​Essai-text-processing/​users-uniq
-# Retour:+</​code>​ 
 +<​code>​
 5 Papi 5 Papi
 1 Toto 1 Toto
Ligne 527: Ligne 392:
 <code user> <code user>
 cat ~/​Essai-text-processing/​users-sort-uniq cat ~/​Essai-text-processing/​users-sort-uniq
-# Retour :+</​code>​ 
 +<​code>​
 003 Zaza 003 Zaza
 01 Nani 01 Nani
Ligne 543: Ligne 409:
  
 ===Préparation === ===Préparation ===
-Création du fichier "​~/​Essai-text-processing/​liste-fruits"​+  * Création du fichier "​~/​Essai-text-processing/​liste-fruits" ​:
  
 <code user> <code user>
Ligne 553: Ligne 419:
 </​code>​ </​code>​
  
-Vérification :+  * Vérification :
  
 <code user> <code user>
 cat ~/​Essai-text-processing/​liste-fruits cat ~/​Essai-text-processing/​liste-fruits
-# Retour:+</​code>​ 
 +<​code>​
 1 fraise 1 fraise
 2 abricot 2 abricot
 3 pomme 3 pomme
 </​code>​ </​code>​
-===Découpage ​en taille et répartition en autant de fichiers ===+====Découpage ​par taille et répartition en autant de fichiers ​====
 <​note>​ <​note>​
   * options de découpage par taille :\\   * options de découpage par taille :\\
Ligne 581: Ligne 448:
 </​note>​ </​note>​
  
-  * exemple ​de découpage par taille d'un octet avec le préfixe ​"fruit1b"+  * Exemple ​de découpage par taille d'un octet avec le préfixe ​''​fruit1b''​ :
  
 <code user> <code user>
 split -C 1b ~/​Essai-text-processing/​liste-fruits fruit1b split -C 1b ~/​Essai-text-processing/​liste-fruits fruit1b
 </​code>​ </​code>​
-Le fichier n'est pas lourd et le découpage en taille de 1 byte (=octet) ne le découpe pas : + 
 +>Le fichier n'est pas lourd et le découpage en taille de 1 byte (=octet) ne le découpe pas :  
 <code user> <code user>
 ls fruit1b* ls fruit1b*
-# Retour+</​code>​ 
 +<​code>​
 fruit1baa fruit1baa
 </​code>​ </​code>​
  
-Un seul fichier a été créé ​ +>Un seul fichier a été créé.  
 +  
 <code user> <code user>
 cat fruit1b* cat fruit1b*
-# Retour :+</​code>​ 
 +<​code>​
 1 fraise 1 fraise
 2 abricot 2 abricot
 3 pomme 3 pomme
 </​code>​ </​code>​
-Et le fichier ​et créé dans le répertoire dans lequel le terminal est ouvert.\ + 
-Pour que le fichier créé lors du découpage ​soit dans le répertoire du fichier à découper :+>​Le ​fichier ​est créé dans le répertoire dans lequel le terminal est ouvert.\
 +Pour que le fichier créélors du découpage, se retrouve ​dans le répertoire du fichier à découper :
  
 <code user> <code user>
 split -C 1b ~/​Essai-text-processing/​liste-fruits fruit1b && mv fruit1b* ~/​Essai-text-processing/​ split -C 1b ~/​Essai-text-processing/​liste-fruits fruit1b && mv fruit1b* ~/​Essai-text-processing/​
-#puis +</​code>​ 
 +<​code> ​
 ls ~/​Essai-text-processing/​fruit1b* ls ~/​Essai-text-processing/​fruit1b*
-# Retour:+</​code>​ 
 +<​code>​
 /​home/​hypathie/​Essai-text-processing/​fruit1baa /​home/​hypathie/​Essai-text-processing/​fruit1baa
 </​code>​ </​code>​
-Ou+  * Ou encore :
 <code user> <code user>
 cd Essai-text-processing/​ cd Essai-text-processing/​
-# puis:+</​code>​ 
 +<code user>
 split -C 1b ~/​Essai-text-processing/​liste-fruits fruit1b split -C 1b ~/​Essai-text-processing/​liste-fruits fruit1b
-# puis :+</​code>​ 
 +<code user>
 ls fruit1b* ls fruit1b*
 +</​code>​
 +<​code>​
 fruit1baa fruit1baa
 </​code>​ </​code>​
  
-===Découpage par ligne ===+====Découpage par ligne ====
 <​note>​ <​note>​
   * option de découpage par ligne qui détermine le découpage :\\   * option de découpage par ligne qui détermine le découpage :\\
Ligne 632: Ligne 511:
 <code user> <code user>
 cd Essai-text-processing/​ cd Essai-text-processing/​
-# puis:+</​code>​ 
 +<code user>
 split -l 1 ~/​Essai-text-processing/​liste-fruits split -l 1 ~/​Essai-text-processing/​liste-fruits
-# puis:+</​code>​ 
 +<code user>
  ls x*  ls x*
-# Retour:+</​code>​ 
 +<​code>​
 xaa  xab  xac xaa  xab  xac
-# puis:+</​code>​ 
 +<code user>
  cat x*  cat x*
-# Retour :+</​code>​ 
 +<​code>​
 1 fraise 1 fraise
 2 abricot 2 abricot
Ligne 646: Ligne 530:
 </​code>​ </​code>​
  
-=====Les commandes expand et unexpand ===== +=====La commande ​unexpand ===== 
-====unexpand ​==== +La commande "​unexpand" ​peut servir à convertir un groupe ​de sept espaces en une tabulation.
-La commande "​unexpand" ​convertit les groupes ​de espaces en tabulation+
  
 ===Syntaxe === ===Syntaxe ===
Ligne 669: Ligne 552:
 Pour intégrer le contenu d'un fichier avec les redirections et EOF, la touche tabulation ne fonctionne pas. Pour intégrer le contenu d'un fichier avec les redirections et EOF, la touche tabulation ne fonctionne pas.
 </​note>​ </​note>​
 +====Convertir des espaces en tabulation ====
 ===Affichage avec cat : ce sont des espaces === ===Affichage avec cat : ce sont des espaces ===
 <code user> <code user>
Ligne 677: Ligne 561:
          ​03 ​        ​Lili ​        ​lili@hotmail.com ​        ​membre          ​03 ​        ​Lili ​        ​lili@hotmail.com ​        ​membre
 </​code>​ </​code>​
-===conversion ​des espaces en tabulation ===+===Conversion ​des espaces en tabulation ===
 <code user> <code user>
 unexpand -a ~/​Essai-text-processing/​users-infos-espaces unexpand -a ~/​Essai-text-processing/​users-infos-espaces
-# Retour:+</​code>​ 
 +<​code>​
  01   Toto       toto@gmx.fr modo  01   Toto       toto@gmx.fr modo
        ​02 Titi  ​  ​titi@gmail.com membre        ​02 Titi  ​  ​titi@gmail.com membre
Ligne 687: Ligne 572:
 </​code>​ </​code>​
 <​note>​ <​note>​
-  * Option -a pour que la conversion des espaces ait lieu partout et pas seulement pour les espaces constituants la première colonnes de droite +  * Option ​''​-a'' ​pour que la conversion des espaces ait lieu partout et pas seulement pour les espaces constituants la première colonnes de droite. 
-  * Les groupes de moins de espaces consécutifs n'ont pas été convertis en tabulation  +  * Les groupes de moins de sept espaces consécutifs n'ont pas été convertis en tabulation 
-</note +</note> 
-====La commande "​expand"​ ==== +=====La commande "​expand" ​===== 
-La commande "​expand" ​convertit ​les tabulations en espaces+La commande "​expand" ​peut servir à convertir ​les tabulations en espaces.
  
 ===Syntaxe === ===Syntaxe ===
Ligne 713: Ligne 598:
  
 </​code>​ </​code>​
-===Convertion des tabulations en espaces===+====Convertion des tabulations en espaces====
  
 <code user> <code user>
Ligne 723: Ligne 608:
  
 </​code>​ </​code>​
-=== déterminer ​le nombre d'​espaces qui remplaceront chaque tabulation=== +==== Déterminer ​le nombre d'​espaces qui remplaceront chaque tabulation==== 
-  * option -t nombre+  * option ​''​-t'' ​nombre
 <code user> <code user>
 expand -t 1 ~/​Essai-text-processing/​users-infos-tabul expand -t 1 ~/​Essai-text-processing/​users-infos-tabul
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