User Tools

Site Tools


informatique:linux:commandes_linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:linux:commandes_linux [2025/09/15 14:10] – [NetworkManager] pteuinformatique:linux:commandes_linux [2026/03/19 09:12] (current) – [sed] réorganisation pteu
Line 2518: Line 2518:
 </WRAP> </WRAP>
  
-  * Afficher la 3ème ligne d'un fichier (plusieurs méthodes) : +  * Afficher des lignes d'un fichier :
-Afficher la 3ème ligne d'un fichier :+
 <code bash> <code bash>
-sed -n '3p' <fichier> +# afficher la 3e ligne (plusieurs méthodes) 
-sed '3!d'   <fichier>+sed -n '3p' <fichier>   # preserve 
 +sed '3!d'   <fichier>   # not delete
 sed '52q;d' <fichier>   # arrête la lecture dès qu'elle a matché, pour la performance sed '52q;d' <fichier>   # arrête la lecture dès qu'elle a matché, pour la performance
 +
 +# afficher le fichier à partir de la 3e ligne :
 +sed -n '3,$p' <fichier>
 +
 +# afficher les lignes entre 2 et 5 :
 +sed -n '2,5p' <fichier>
 +
 +# Afficher les lignes entre les motifs "begin" et "end" :
 +sed -n '/begin/,/end/p' <fichier>
 </code> </code>
  
-  * Afficher un fichier à partir de la 3ème ligne :+  * supprimer des lignes d'un fichier : mêmes opérations que ci-dessus, mais avec les flags ''-i'' (pour modifier le fichier, et non son affichage sur le terminal) et la commande ''d'' (delete) à la place de ''p'' (preserve) :
 <code bash> <code bash>
-sed -'3,$p' <fichier>+# Supprimer la 3eme ligne du fichier 
 +<code bash> 
 +sed -'3d' <fichier>  # delete 
 + 
 +# Supprimer les lignes contenant toto dans le fichier : 
 +sed -i '/toto/d' <fichier> 
 +# la mêmecase insensitive = en ne tenant pas compte de la casse (minuscule ou majuscule) 
 +sed -i '/toto/Id' <fichier> 
 + 
 +# Supprimer les lignes __ne contenant pas__ toto dans le fichier toto.txt : 
 +sed -i '/toto/!d' toto.txt 
 + 
 +# Supprimer les lignes vides 
 +sed '/^$/d' toto.txt 
 + 
 +# Supprimer les lignes vides et les commentaires (commençant ("^") par "#" ou "$"
 +sed -iE '/^($|#)/d' toto.txt
 </code> </code>
  
-  * Afficher les lignes de 2 à 5 d'un fichier ; alternative : afficher les lignes de 2 jusqu'à ce qu'une expression régulière matche (dans cet exemple : /sys/)+  * afficher la 2ème ligne et les suivantes jusqu'à ce qu'une expression régulière matche (dans cet exemple : /sys/)
 <code bash> <code bash>
-sed -n '2,5p' <fichier> 
 sed -n '2,/sys/p' <fichier> sed -n '2,/sys/p' <fichier>
 </code> </code>
  
-  * Ajouter une ligne en début de fichier :+  * Ajouter une ligne (''i'' insert) en début de fichier :
 <code bash> <code bash>
 sed -i '1iPremièreLigne' toto.txt sed -i '1iPremièreLigne' toto.txt
Line 2543: Line 2567:
 (il s'agit d'un "un" i suivi du texte à insérer) (il s'agit d'un "un" i suivi du texte à insérer)
  
-  * Afficher les lignes sauf celles situées entre "toto" et "titi" :+  * Afficher les lignes sauf celles situées entre "toto" et "titi" (= supprimer les lignes contenant "toto" ou "titi"):
 <code bash> <code bash>
 sed '/toto/,/titi/d' sed '/toto/,/titi/d'
 </code> </code>
  
-  * remplacer le motif "MOTIF" par "REPLACE" uniquement sur les ligne matchant le motif "SELECT"+  * remplacer le motif "MOTIF" par "REPLACE" uniquement sur les lignes matchant le motif "SELECT"
 <code bash> <code bash>
 sed '/SELECT/s/MOTIF/REPLACE/' toto.txt sed '/SELECT/s/MOTIF/REPLACE/' toto.txt
 </code> </code>
- 
-  * Supprimer la 5eme ligne du fichier toto.txt 
-<code bash> 
-sed -i '5d' toto.txt 
-</code> 
- 
-  * Supprimer les lignes contenant toto dans le fichier toto.txt : 
-<code bash>sed -i '/toto/d' toto.txt</code> 
- 
-  * Supprimer les lignes __ne contenant pas__ toto dans le fichier toto.txt : 
-<code bash>sed -i '/toto/!d' toto.txt</code> 
- 
-  * Supprimer les lignes vides 
-<code bash>sed '/^$/d' toto.txt</code> 
  
   * supprimer (''d'') les première lignes du début d'un fichier (''0,'') jusqu'à un motif (''^begin'' dans cet exemple), et supprimer les dernières lignes depuis un motif (''/^end/'') jusqu'à la fin du fichier ('',$'') :   * supprimer (''d'') les première lignes du début d'un fichier (''0,'') jusqu'à un motif (''^begin'' dans cet exemple), et supprimer les dernières lignes depuis un motif (''/^end/'') jusqu'à la fin du fichier ('',$'') :
Line 2572: Line 2582:
 </code> </code>
  
-  * Remplacer les adresses IP par X.X.X.X+  * Remplacer les adresses IP par X.X.X.X (il s'agit d'une expression régulière simplifiée)
 <code bash> <code bash>
 sed "s/\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}/X.X.X.X/g" sed "s/\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}/X.X.X.X/g"
Line 2626: Line 2636:
 toto toto
 test test
-</code> 
  
-# Dans certains cas, on est obligé de conserver les quotes qui entourent l'expression sed ; dans ce cas on procèdera de la sorte : +# Dans certains cas, on est obligé de conserver les quotes qui entourent l'expression sed ; il faudra alors  procèder de la sorte :
-<code bash>+
 echo -e "toto\ntiti" | sed 's/titi/'"$VAR"'/' echo -e "toto\ntiti" | sed 's/titi/'"$VAR"'/'
 </code> </code>
informatique/linux/commandes_linux.1757945456.txt.gz · Last modified: 2025/09/15 14:10 by pteu