{"id":48172,"date":"2026-04-16T08:23:09","date_gmt":"2026-04-16T08:23:09","guid":{"rendered":"\/fr\/tutoriels\/?p=48172"},"modified":"2026-04-16T08:23:10","modified_gmt":"2026-04-16T08:23:10","slug":"awk-command","status":"publish","type":"post","link":"\/fr\/tutoriels\/awk-command","title":{"rendered":"La commande awk sous Linux: comprendre la syntaxe, les options et les exemples courants"},"content":{"rendered":"<p><strong>awk<\/strong> est une commande Linux largement utilis&eacute;e pour les t&acirc;ches de traitement de texte. Vous pouvez utiliser cette<strong> <\/strong>commande directement dans le terminal pour extraire des donn&eacute;es d&rsquo;un fichier texte, rechercher des motifs et effectuer des actions simples comme le formatage du texte.<\/p><p>Cette commande est aussi un langage de script, ce qui signifie qu&rsquo;elle peut &ecirc;tre utilis&eacute;e pour &eacute;crire des programmes &agrave; part enti&egrave;re. Cependant, cet article se concentrera sur ce que vous pouvez faire avec <strong>awk<\/strong> dans le terminal pour manipuler des fichiers texte. Nous aborderons la syntaxe, les cas d&rsquo;usage courants et r&eacute;pondrons aux questions les plus fr&eacute;quentes.<\/p><p>\n\n\n\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-syntax-of-the-awk-command\">Syntaxe de la commande awk<\/h2><p>Au c&oelig;ur de son fonctionnement, la commande <strong>awk<\/strong> prend deux types d&rsquo;entr&eacute;e : un fichier texte et un ensemble d&rsquo;instructions. Cela se refl&egrave;te dans la syntaxe de base&nbsp;:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk '{ action }' filename.txt<\/pre><ul class=\"wp-block-list\">\n<li><strong>action<\/strong> correspond &agrave; l&rsquo;action que vous souhaitez effectuer sur votre fichier texte.<\/li>\n\n\n\n<li><strong>filename<\/strong> est le fichier texte.<\/li>\n<\/ul><p>Au niveau le plus &eacute;l&eacute;mentaire, la syntaxe de la commande <strong>awk<\/strong> est tr&egrave;s simple. Tout ce dont vous avez besoin, c&rsquo;est d&rsquo;un fichier texte avec lequel interagir et d&rsquo;une action &agrave; effectuer.<\/p><h3 class=\"wp-block-heading\" id=\"h-options-and-syntax-variations\">Options et variations de syntaxe<\/h3><p>Votre commande <strong>awk<\/strong> de base peut &ecirc;tre encore &eacute;tendue en ajoutant des options.<\/p><ul class=\"wp-block-list\">\n<li><strong>-F :<\/strong> d&eacute;finit un s&eacute;parateur de champs.<\/li>\n\n\n\n<li><strong>-v<\/strong> : d&eacute;finit des variables.<\/li>\n\n\n\n<li><strong>-f :<\/strong> lit le script &agrave; partir d&rsquo;un fichier.<\/li>\n<\/ul><p>Comme <strong>awk<\/strong> traite les caract&egrave;res d&rsquo;espacement (espaces ou tabulations) comme d&eacute;limiteur par d&eacute;faut entre les champs dans un fichier ou en entr&eacute;e-F lui indique comment interpr&eacute;ter les colonnes ou les champs de chaque ligne en fonction d&rsquo;un d&eacute;limiteur. En d&rsquo;autres termes, lorsque vous utilisez <strong>-F<\/strong>, <strong>awk<\/strong> sait comment scinder chaque ligne en parties (champs).<br><\/p><p>En utilisant votre document pr&eacute;c&eacute;dent, vous pouvez utiliser <strong>-F<\/strong> comme argument de ligne de commande pour d&eacute;finir les deux-points comme s&eacute;parateur de champs.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -F':' '\/house\/ { print \"ID:\", $1, \"- Type:\", $2, \"- Location:\", $3 }' filename.txt<\/pre><p><strong>awk<\/strong> identifie le s&eacute;parateur et interpr&egrave;te les champs en cons&eacute;quence :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ID: 1 - Type: Big house - Location: New York\n\nID: 2 - Type: Small house - Location: Los Angeles\n\nID: 4 - Type: Houseboat - Location: Seattle<\/pre><p>Pour affecter une variable en ligne de commande, vous pouvez ex&eacute;cuter :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -v word=\"house\" '$0 ~ word { print $0 }' filename.txt<\/pre><p><strong>word<\/strong> est d&eacute;sormais une variable qui peut &ecirc;tre utilis&eacute;e dans votre action.<\/p><p>Enfin, l&rsquo;option <strong>-f<\/strong> est utile pour ex&eacute;cuter plusieurs commandes <strong>awk<\/strong> &agrave; la fois depuis la ligne de commande au sein d&rsquo;un seul script. Imaginez que vous avez un fichier <strong>simple_script.awk<\/strong> contenant ce qui suit :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Print the line number and the line content if the line contains the word \"house\"\n\n$0 ~ \/house\/ { print NR, $0 }\n\n# Print a message before every output\n\nBEGIN { print \"Starting to search for 'house'...\" }<\/pre><p>Vous pouvez l&rsquo;ex&eacute;cuter avec :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -f simple_script.awk filename.txt<\/pre><p>Et vous aurez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Starting to search for 'house'...\n1:Big house:New York\n2:Small house:Los Angeles\n4:Houseboat:Seattle<\/pre><h3 class=\"wp-block-heading\" id=\"h-creating-a-sample-file\">Cr&eacute;ation d&rsquo;un fichier d&rsquo;exemple<\/h3><p>Avant d&rsquo;aborder les cas d&rsquo;usage, vous devrez cr&eacute;er un fichier d&rsquo;exemple.<\/p><p>Pour les besoins de cet exemple, nous continuerons &agrave; utiliser des maisons et des lieux comme exemples, mais nous cr&eacute;erons un tout nouveau fichier d&rsquo;entr&eacute;e.<\/p><p>Pour ce faire, utilisez simplement la commande <strong>touch<\/strong> pour cr&eacute;er un nouveau fichier :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">touch houses.txt<\/pre><p>Comme le fichier est vide, nous devons le remplir. Modifions aussi les types d&rsquo;habitation de notre premier exemple : nous pourrions vouloir une petite maison dans le Vermont, une grande maison &agrave; San Diego, un appartement &agrave; New York et une p&eacute;niche &agrave; Londres. Nous ajouterons &eacute;galement les m&egrave;tres carr&eacute;s pour chaque logement.<\/p><p>Vous pouvez utiliser votre &eacute;diteur de texte pr&eacute;f&eacute;r&eacute; (par exemple <strong>nano<\/strong> ou <strong>vim<\/strong>), ou ajouter des donn&eacute;es directement avec <strong>echo<\/strong>.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo -e \"1:Small house:Vermont:100 sqm\\n2:Large house:San Diego:300 sqm\\n3:Apartment:New York:70 sqm\\n4:Houseboat:London:40 sqm\" &gt; houses.txt<\/pre><p>D&eacute;sormais, <strong>houses.txt<\/strong> est pr&ecirc;t &agrave; &ecirc;tre utilis&eacute; dans nos exemples <strong>awk<\/strong>.<\/p><h2 class=\"wp-block-heading\" id=\"h-examples-of-the-awk-command\">Exemples de la commande awk<\/h2><p>Voyons comment utiliser la commande <strong>awk<\/strong> sur notre fichier <strong>houses.txt<\/strong> dans plusieurs cas d&rsquo;usage. Vous trouverez ci-dessous une liste de sc&eacute;narios courants.<\/p><h3 class=\"wp-block-heading\" id=\"h-1-printing-all-lines-of-a-file\">1. Afficher toutes les lignes d&rsquo;un fichier<\/h3><p>Pour afficher toutes les lignes d&rsquo;un fichier d&rsquo;entr&eacute;e, ex&eacute;cutez la commande suivante :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk '{print}' houses.txt<\/pre><p>Cela renverra ce qui suit :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">1:Small house:Vermont:100 sqm\n\n2:Large house:San Diego:300 sqm\n\n3:Apartment:New York:70 sqm\n\n4:Houseboat:London:40 sqm<\/pre><h3 class=\"wp-block-heading\" id=\"h-2-printing-a-specific-column\">2. Affichage d&rsquo;une colonne sp&eacute;cifique<\/h3><p>Comme nous l&rsquo;avons d&eacute;j&agrave; vu, <strong>awk<\/strong> d&eacute;coupe chaque ligne d&rsquo;un fichier texte en champs (ou colonnes) en utilisant les caract&egrave;res d&rsquo;espacement comme s&eacute;parateur. Dans notre cas, nous utilisons un deux-points ( \ud83d\ude42 . Pour imprimer des colonnes sp&eacute;cifiques, nous devons conna&icirc;tre la position de la colonne dans la ligne.<br> <br>Imaginons que nous voulions imprimer la colonne contenant la superficie en pieds carr&eacute;s de chaque maison. Pour ce faire, nous allons ex&eacute;cuter :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -F':' '{print $4}' houses.txt<\/pre><p>Le r&eacute;sultat sera :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">100 sqm\n\n300 sqm\n\n70 sqm\n\n40 sqm<\/pre><p>Ici :<\/p><ul class=\"wp-block-list\">\n<li><strong>-F&rsquo; :&rsquo;<\/strong> indique &agrave; awk d&rsquo;utiliser le deux-points (:) comme s&eacute;parateur de champs.<\/li>\n\n\n\n<li><strong>$4<\/strong> affiche le quatri&egrave;me champ (superficie en pieds carr&eacute;s).<\/li>\n<\/ul><h3 class=\"wp-block-heading\" id=\"h-3-displaying-lines-that-match-a-pattern\">3. Affichage des lignes correspondant &agrave; un motif<\/h3><p>Imaginons que vous ne vous int&eacute;ressiez qu&rsquo;aux lignes de votre fichier d&rsquo;entr&eacute;e qui contiennent un certain mot, ou qui correspondent &agrave; un certain motif. Pour ce faire, vous devrez utiliser des <a href=\"https:\/\/opensource.com\/article\/19\/11\/how-regular-expressions-awk\" target=\"_blank\" rel=\"noopener\">expressions r&eacute;guli&egrave;res<\/a>.<\/p><p>Les expressions r&eacute;guli&egrave;res sont une technique de correspondance de motifs, et elles peuvent &ecirc;tre utilis&eacute;es pour cr&eacute;er des motifs complexes afin d&rsquo;extraire des parties de texte tr&egrave;s sp&eacute;cifiques. Ici, nous allons utiliser une expression r&eacute;guli&egrave;re tr&egrave;s simple.<\/p><p>Par exemple, si vous souhaitez afficher la ligne enti&egrave;re contenant le mot &laquo; Houseboat &raquo; &agrave; partir de votre fichier d&rsquo;entr&eacute;e, vous ex&eacute;cuterez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -F ':' '\/Houseboat\/ {print}' houses.txt<\/pre><p>Ce qui vous donnera :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">4:P&eacute;niche:Londres:40 m&sup2;<\/pre><p><strong>\/Houseboat\/<\/strong> est le motif regex : nous indiquons au syst&egrave;me de rechercher toutes les correspondances du mot &laquo; Houseboat &raquo;.<\/p><h3 class=\"wp-block-heading\" id=\"h-4-extracting-and-printing-columns-using-field-manipulation\">4. Extraction et affichage de colonnes &agrave; l&rsquo;aide de la manipulation de champs<\/h3><p>Vous pouvez &eacute;galement manipuler les champs dans votre fichier texte et les afficher dans un ordre diff&eacute;rent.<\/p><p>Supposons que vous souhaitiez afficher chaque ligne de notre fichier texte comme une annonce immobili&egrave;re. Vous pouvez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -F ':' '{print \"For sale:\", $2, \"in\", $3, \".\", \"Square footage:\", $4}' houses.txt<\/pre><p>L&rsquo;ex&eacute;cution de cette commande affichera :<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69e10b9a6a593\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"159\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/04\/commande-awk-operations-mathematiques.jpg\" alt=\"Vous pouvez utiliser la commande awk pour manipuler des champs et extraire puis afficher des colonnes dans l&rsquo;ordre souhait&eacute;.\" class=\"wp-image-48170\" srcset=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/04\/commande-awk-operations-mathematiques.jpg 1024w, https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/04\/commande-awk-operations-mathematiques-300x47.jpg 300w, https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/04\/commande-awk-operations-mathematiques-150x23.jpg 150w, https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/04\/commande-awk-operations-mathematiques-768x119.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandir\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>La commande vous permet de r&eacute;organiser et de mettre en forme les champs comme vous le souhaitez. Par exemple, vous pourriez permuter <strong>$2<\/strong> et <strong>$3<\/strong> pour afficher l&rsquo;emplacement avant le type de maison.<\/p><h3 class=\"wp-block-heading\" id=\"h-5-calculating-mathematical-operations\">5. Calcul d&rsquo;op&eacute;rations math&eacute;matiques<\/h3><p>La commande <strong>awk<\/strong> peut effectuer des calculs.<\/p><p>Ajoutons une colonne &agrave; nos donn&eacute;es contenant le prix de chaque bien.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -F ':' '{print $0, \": $\", NR * 100000}' houses.txt &gt; priced_houses.txt<\/pre><p>Cette commande cr&eacute;e un fichier <strong>priced_houses.txt<\/strong> avec les prix de tous les biens. Par souci de simplicit&eacute;, nous allons inventer des prix bas&eacute;s sur le num&eacute;ro de ligne avec : <strong>&euro;<\/strong>, <strong>NR * 100000<\/strong>.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">1:Small house:Vermont:100 sqm: $100000\n\n2:Large house:San Diego:300 sqm: $200000\n\n3:Apartment:New York:70 sqm: $300000\n\n4:Houseboat:London:40 sqm: $400000<\/pre><p>Maintenant que nous avons quelques nombres, nous pouvons tester des op&eacute;rations math&eacute;matiques.<\/p><p>Pour calculer le co&ucirc;t total des propri&eacute;t&eacute;s, vous allez additionner la derni&egrave;re colonne, o&ugrave; les prix sont stock&eacute;s (<strong>5 &euro;<\/strong>) :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -F ':' '{gsub(\"[$,]\", \"\", $5); sum += $5} END {print \"Total cost:\", sum}' priced_houses.txt<\/pre><p>Ce qui affiche :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Co&ucirc;t total&nbsp;: 1000000<\/pre><p>Ici :<\/p><ul class=\"wp-block-list\">\n<li><strong>gsub(&laquo;&nbsp;[$,]&nbsp;&raquo;, &laquo;&nbsp;&nbsp;&raquo;, $5)<\/strong> supprime tout signe dollar ou toute virgule du prix dans le cinqui&egrave;me champ (afin de permettre un calcul correct).<\/li>\n\n\n\n<li><strong>sum += 5&nbsp;&euro;<\/strong> ajoute le prix au total cumul&eacute;.<\/li>\n\n\n\n<li><strong>END {print &laquo;&nbsp;Total cost:&nbsp;&raquo;, sum}<\/strong> affiche le co&ucirc;t total apr&egrave;s traitement de toutes les lignes.<\/li>\n<\/ul><h3 class=\"wp-block-heading\" id=\"h-6-processing-data-based-on-conditional-statements\">6. Traitement des donn&eacute;es bas&eacute; sur des instructions conditionnelles<\/h3><p>Pour calculer uniquement le prix des biens s&eacute;lectionn&eacute;s &mdash; disons l&rsquo;appartement &agrave; New York et la p&eacute;niche &agrave; Londres &mdash; vous devrez utiliser des instructions conditionnelles.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -F ':' '($2 == \"Apartment\" || $2 == \"Houseboat\") {gsub(\"[$,]\", \"\", $5); sum += $5} END {print \"NY + LDN, total cost:\", sum}' priced_houses.txt<\/pre><p>Dans cet exemple :<\/p><ul class=\"wp-block-list\">\n<li><strong>$2 == &laquo;&nbsp;Apartment&nbsp;&raquo; || $2 == &laquo;&nbsp;Houseboat&nbsp;&raquo;<\/strong> est la condition qui garantit que seules les lignes contenant &laquo;&nbsp;Apartment&nbsp;&raquo; ou &laquo;&nbsp;Houseboat&nbsp;&raquo; sont trait&eacute;es. <strong>||<\/strong> est le symbole conditionnel pour &laquo; OU &raquo;.<\/li>\n\n\n\n<li><strong>gsub(&laquo;&nbsp;[$,]&nbsp;&raquo;, &laquo;&nbsp;&nbsp;&raquo;, $5)<\/strong> supprime les signes dollar ou les virgules.<\/li>\n\n\n\n<li><strong>sum += 5 &euro;<\/strong> ajoute le prix &agrave; la somme.<\/li>\n\n\n\n<li><strong>END {print &laquo;&nbsp;NY + LDN, total cost:&nbsp;&raquo;, sum}<\/strong> affiche le co&ucirc;t total pour les propri&eacute;t&eacute;s s&eacute;lectionn&eacute;es.<\/li>\n<\/ul><p>La commande ci-dessus affichera :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">NY + LDN, co&ucirc;t total : 700000<\/pre><p>En utilisant notre fichier d&rsquo;entr&eacute;e original <strong>houses.txt<\/strong>, vous pouvez utiliser une autre instruction conditionnelle pour, par exemple, n&rsquo;afficher un bien que s&rsquo;il est sup&eacute;rieur &agrave; 50 m&sup2; :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -F ':' '{if ($4 &gt; 50) print $2, \"dans\", $3, \":\", \"OK\"; else print $2, \"dans\", $3, \":\", \"trop petit.\"}' houses.txt<\/pre><p>La commande ci-dessus utilise une instruction conditionnelle if-else simple, s&eacute;par&eacute;e par un point-virgule ( ;). Cela affichera&nbsp;:<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69e10b9a6b1b4\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"152\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/04\/commande-awk-instructions-conditionnelles.jpg\" alt=\"Avec la commande awk, vous pouvez utiliser des instructions conditionnelles pour agir sur les lignes qui r&eacute;pondent &agrave; certains crit&egrave;res.\" class=\"wp-image-48171\" srcset=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/04\/commande-awk-instructions-conditionnelles.jpg 1024w, https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/04\/commande-awk-instructions-conditionnelles-300x45.jpg 300w, https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/04\/commande-awk-instructions-conditionnelles-150x22.jpg 150w, https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/04\/commande-awk-instructions-conditionnelles-768x114.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandir\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Vous trouverez toutes les instructions conditionnelles dans le <a href=\"https:\/\/www.gnu.org\/software\/gawk\/manual\/gawk.html#Index\" target=\"_blank\" rel=\"noopener\">manual de l&rsquo;utilisateur de GNU Awk<\/a>.<\/p><h3 class=\"wp-block-heading\" id=\"h-7-using-built-in-variables\">7. Utiliser les variables int&eacute;gr&eacute;es<\/h3><p><strong>awk<\/strong> dispose de plusieurs variables int&eacute;gr&eacute;es, &agrave; la fois num&eacute;riques et de type cha&icirc;ne, qui sont pr&eacute;d&eacute;finies dans le langage.<\/p><p>Voici les plus couramment utilis&eacute;s :<\/p><ul class=\"wp-block-list\">\n<li><strong>NR<\/strong> (nombre d&rsquo;enregistrements)<\/li>\n\n\n\n<li><strong>NF<\/strong> (nombre de champs)<\/li>\n\n\n\n<li><strong>FS<\/strong> (s&eacute;parateur de champs)<\/li>\n\n\n\n<li><strong>OFS<\/strong> (s&eacute;parateur de champs de sortie)<\/li>\n\n\n\n<li><strong>Nom de fichier<\/strong> <\/li>\n\n\n\n<li><strong>RS<\/strong> (s&eacute;parateur d&rsquo;enregistrements)<\/li>\n<\/ul><p>Par exemple, pour afficher le nombre de champs dans chaque ligne, ex&eacute;cutez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -F ':' '{print \"Line\", NR, \"has\", NF, \"fields\"}' houses.txt<\/pre><p>Ce qui afficherait :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Line 1 has 4 fields\n\nLine 2 has 4 fields\n\nLine 3 has 4 fields\n\nLine 4 has 4 fields<\/pre><p>Si vous souhaitez utiliser <strong>OFS<\/strong> pour d&eacute;finir le s&eacute;parateur entre les champs lors de l&rsquo;affichage de la sortie, vous pouvez ex&eacute;cuter :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk 'BEGIN {OFS=\"XXXX\"} {print $1, $2, $3, $4}' houses.txt<\/pre><p>Ce qui affichera :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">1:SmallXXXXhouse:Vermont:100XXXXsqmXXXX\n2:LargeXXXXhouse:SanXXXXDiego:300XXXXsqm\n3:Apartment:NewXXXXYork:70XXXXsqmXXXX\n4:Houseboat:London:40XXXXsqmXXXXXXXX<\/pre><h3 class=\"wp-block-heading\" id=\"h-8-using-user-defined-functions\">8. Utilisation des fonctions d&eacute;finies par l&rsquo;utilisateur<\/h3><p>Avec <strong>awk<\/strong>, vous pouvez manipuler votre texte plus efficacement en utilisant des fonctions directement dans le terminal.<\/p><p>Par exemple, pour convertir la deuxi&egrave;me colonne (types de maisons) en minuscules, vous ex&eacute;cuterez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -F ':' '{print tolower($2)}' houses.txt<\/pre><p>Ce qui donne :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">small house\n\nlarge house\n\napartment\n\nhouseboat<\/pre><p>Ici, <strong>tolower($2<\/strong>) est la fonction utilis&eacute;e.<\/p><p>Si vous souhaitez remplacer le mot &laquo; house &raquo; par &laquo; mansion &raquo; dans la deuxi&egrave;me colonne&nbsp;:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">awk -F ':' '{gsub(\/house\/, \"mansion\", $2); print $2}' houses.txt<\/pre><p>o&ugrave; <strong>gsub(\/house\/, &laquo;&nbsp;mansion&nbsp;&raquo;, $2)<\/strong> est la fonction.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Small mansion\n\nLarge mansion\n\nApartment\n\nHouseboat<\/pre><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostinger.com\/fr\/vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/public\" alt=\"\" class=\"wp-image-41471\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2><p>La commande <strong>awk<\/strong> de Linux est un puissant outil de traitement que les d&eacute;veloppeurs peuvent utiliser pour extraire, manipuler et traiter des donn&eacute;es &agrave; partir de fichiers texte. Cela peut s&rsquo;av&eacute;rer particuli&egrave;rement utile pour des t&acirc;ches comme l&rsquo;analyse de journaux ou m&ecirc;me de fichiers CSV, puisqu&rsquo;il prend en charge les op&eacute;rations math&eacute;matiques, la correspondance de motifs et la manipulation de champs.<\/p><p>En ma&icirc;trisant les bases d&rsquo;<strong>awk<\/strong>, vous serez rapidement en mesure de l&rsquo;utiliser efficacement pour diverses t&acirc;ches, de garder des documents &eacute;pur&eacute;s et de disposer de fonctions puissantes &agrave; port&eacute;e de main.<\/p><h2 class=\"wp-block-heading\" id=\"h-awk-command-faq\">FAQ sur la commande awk<\/h2><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1776327630603\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>&Agrave; quoi awk est-il le plus utile ?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p><strong>awk<\/strong>&nbsp;est un outil puissant pour les op&eacute;rations arithm&eacute;tiques comme pour les op&eacute;rations sur les cha&icirc;nes de caract&egrave;res. Il est particuli&egrave;rement adapt&eacute; au traitement de textes, &agrave; l&rsquo;extraction et &agrave; la manipulation de donn&eacute;es structur&eacute;es, &agrave; la correspondance de motifs, aux op&eacute;rations bas&eacute;es sur des champs et aux calculs.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1776327633187\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>En quoi awk est-il diff&eacute;rent de sed ?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Ces deux &eacute;l&eacute;ments sont des&nbsp;<a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/commandes-linux\">commandes Linux<\/a>. Cependant,&nbsp;<strong>sed<\/strong>&nbsp;convient mieux &agrave; l&rsquo;&eacute;dition ligne par ligne et &agrave; la manipulation de texte de base, tandis qu&rsquo;<strong>awk<\/strong>&nbsp;est un langage de programmation complet qui permet d&rsquo;utiliser des structures conditionnelles et d&rsquo;effectuer des calculs, ainsi que de traiter des donn&eacute;es par champs.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1776327634387\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>awk peut-il g&eacute;rer de grands jeux de donn&eacute;es ?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Comme&nbsp;<strong>awk<\/strong>&nbsp;fonctionne ligne par ligne plut&ocirc;t que de charger l&rsquo;int&eacute;gralit&eacute; du fichier en m&eacute;moire, il peut traiter des jeux de donn&eacute;es volumineux. Cependant, lors de l&rsquo;ex&eacute;cution d&rsquo;op&eacute;rations extr&ecirc;mement complexes sur des fichiers tr&egrave;s volumineux, les performances peuvent en p&acirc;tir.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>awk est une commande Linux largement utilis&eacute;e pour les t&acirc;ches de traitement de texte. Vous pouvez utiliser cette commande directement dans le terminal pour extraire des donn&eacute;es d&rsquo;un fichier texte, rechercher des motifs et effectuer des actions simples comme le formatage du texte. Cette commande est aussi un langage de script, ce qui signifie qu&rsquo;elle [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/fr\/tutoriels\/awk-command\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":634,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Comment utiliser la commande awk sous Linux","rank_math_description":"Simplifiez le traitement de texte avec awk sous Linux. Ma\u00eetrisez les motifs, champs et manipulations de donn\u00e9es efficacement.","rank_math_focus_keyword":"commande awk","footnotes":""},"categories":[4760],"tags":[],"class_list":["post-48172","post","type-post","status-publish","format-standard","hentry","category-vps"],"hreflangs":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/48172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/users\/634"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/comments?post=48172"}],"version-history":[{"count":3,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/48172\/revisions"}],"predecessor-version":[{"id":48291,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/48172\/revisions\/48291"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media?parent=48172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/categories?post=48172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/tags?post=48172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}