Outils pour utilisateurs

Outils du site


informatique:awk

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édentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
informatique:awk [2020/10/11 02:39] alexisinformatique:awk [2020/11/26 13:35] – [Remplacer le séparateur d'un fichier] alexis
Ligne 26: Ligne 26:
 awk -F'=' '{print $1}' <fichier> awk -F'=' '{print $1}' <fichier>
 </code> </code>
 +
 +<WRAP info>
 +Le séparateur de champ peut être une expression rationnelle.
 +<code bash>
 +# Initialisation de la variable dans la liste de commande
 +awk 'BEGIN { FS="[=_]" } { print $1 }' <fichier>
 +
 +# Initialisation de la variable par l'option du programme
 +awk -F'[=_]' '{print $1}' <fichier>
 +</code>
 +</WRAP>
 +
  
 === NF — Nombre de champs === === NF — Nombre de champs ===
Ligne 133: Ligne 145:
  
 ==== Remplacer le séparateur d'un fichier ==== ==== Remplacer le séparateur d'un fichier ====
-En assignant la variable ''$1'' à ''$1'' modifie la valeur du champ ce qui force ''awk'' à reconstruire l'enregistrement ''$0''.+En assignant la variable ''$1'' à ''$1'', cela modifie la valeur du champ ce qui force ''awk'' à reconstruire l'enregistrement ''$0''.
 La reconstruction de l'enregistrement remplace le séparateur ''FS'' par ''OFS''. La reconstruction de l'enregistrement remplace le séparateur ''FS'' par ''OFS''.
 <code bash> <code bash>
-awk -F',' 'BEGIN { OFS="|" } { $1=$1 } 1' <fichier>+# Ici, 1 équivaut à true, ce qui affiche la ligne complète 
 +awk 'BEGIN { FS=","; OFS="|" } { $1=$1 } 1<fichier> 
 + 
 +# Cette écriture est donc équivalente 
 +awk 'BEGIN { FS=","; OFS="|" } { $1=$1; print $0 }' <fichier>
 </code> </code>
-<WRAP todo> 
-Comprendre pourquoi j'ai le ''1'' à la fin de la commande. 
-</WRAP> 
  
 ===== Liens ===== ===== Liens =====
informatique/awk.txt · Dernière modification : 2023/01/04 20:46 de alexis