<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Shell et commandes GNU</title>
		<link>https://www.developpez.net/forums/</link>
		<description><![CDATA[Vos questions sur l'utilisation des commandes shell. Manuel Linux]]></description>
		<language>fr</language>
		<lastBuildDate>Wed, 06 May 2026 22:17:33 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - Shell et commandes GNU</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title>Retourner une valeur depuis une fonction</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183233&amp;goto=newpost</link>
			<pubDate>Wed, 15 Apr 2026 10:25:40 GMT</pubDate>
			<description>Bonjour bonjour, 
 
Alors...</description>
			<content:encoded><![CDATA[<div>Bonjour bonjour,<br />
<br />
Alors j'ai bien lu certaines discussions sur ce forum qui expliquent que pour récupérer avec un script une valeur, il y a comme possibilité :<br />
<ul><li style="">return : code relatif au statut de la fonction</li><li style="">envoyer le résultat voulu sur la console genre print ou echo</li><li style="">envoyer le résultat dans un fichier texte et utiliser le dit fichier</li></ul><br />
<br />
Donc j'ai fait un script, qui défini une fonction, qui est appelée par un autre script, lequel autre doit récupérer un chemin...<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
  <span style="color: #cc66cc;">1</span> <span style="color: #808080;">#!/usr/bin/zsh</span>
  <span style="color: #cc66cc;">2</span> <span style="color: #808080;"># V&eacute;rifier que la partition est mont&eacute;e</span>
  <span style="color: #cc66cc;">3</span> <span style="color: #0000ff;">function</span> verifpart<span style="color: black">&#40;</span><span style="color: black">&#41;</span><span style="color: black">&#123;</span>
  <span style="color: #cc66cc;">4</span>         <span style="color: #0000ff;">local</span> <span style="color: #339933;">cible</span>=<span style="color: #339933;">$1</span>
  <span style="color: #cc66cc;">5</span>         <span style="color: #0000ff;">local</span> <span style="color: #339933;">option_extra</span>=<span style="color: #339933;">$2</span>
  <span style="color: #cc66cc;">6</span>         findmnt <span style="color: #339933;">-n</span> <span style="color: #339933;">--raw</span> <span style="color: #339933;">--evaluate</span> <span style="color: #339933;">--output</span>=target <span style="color: #339933;">LABEL</span>=<span style="color: #339933;">$1</span> <span style="color: black">&amp;&gt;/</span>tmp<span style="color: black">/</span>chemin
  <span style="color: #cc66cc;">7</span>         <span style="color: #0000ff;">if</span> <span style="color: black">&#91;</span><span style="color: black">&#91;</span> <span style="color: #339933;">$?</span> = <span style="color: #cc66cc;">1</span> <span style="color: black">&#93;</span><span style="color: black">&#93;</span>; <span style="color: #0000ff;">then</span>
  <span style="color: #cc66cc;">8</span> <span style="color: #808080;"># Pas mont&eacute;e -&gt; montage de la partition</span>
  <span style="color: #cc66cc;">9</span> <span style="color: #808080;"># D&eacute;j&agrave; d&eacute;finie dans fstab, donc pmount sans le label &agrave; la fin</span>
 <span style="color: #cc66cc;">10</span>                 print <span style="color: #FF0000;">&quot;<span style="color: #800000;">\n</span>Montage de <span style="color: #800000;">$1</span><span style="color: #800000;">\n</span>&quot;</span>
 <span style="color: #cc66cc;">11</span>                 pmount <span style="color: #339933;">-w</span> <span style="color: #339933;">-u</span> 077 <span style="color: #339933;">$option_extra</span> <span style="color: black">&lt;</span>$<span style="color: black">&#40;</span><span style="color: black">/</span>tmp<span style="color: black">/</span>chemin<span style="color: black">&#41;</span>
 <span style="color: #cc66cc;">12</span>                 <span style="color: #0000ff;">if</span> <span style="color: black">&#91;</span> <span style="color: #339933;">$?</span> <span style="color: #339933;">-ne</span> <span style="color: #cc66cc;">0</span> <span style="color: black">&#93;</span>; <span style="color: #0000ff;">then</span>
 <span style="color: #cc66cc;">13</span>                         <span style="color: #0000ff;">return</span> <span style="color: #cc66cc;">1</span>
 <span style="color: #cc66cc;">14</span>                 <span style="color: #0000ff;">fi</span>;
 <span style="color: #cc66cc;">15</span>         <span style="color: #0000ff;">else</span>
 <span style="color: #cc66cc;">16</span>                 <span style="color: #0000ff;">return</span> <span style="color: #cc66cc;">0</span>
 <span style="color: #cc66cc;">17</span> <span style="color: #0000ff;">fi</span>;
 <span style="color: #cc66cc;">18</span> <span style="color: black">&#125;</span></pre></td></tr></table></code><hr />
</div>Donc cette fonction sert à monter une partition si elle ne l'est pas, et renvoyer le chemin pour arriver aux fichiers de la partition.<br />
<br />
La partie pmount me pose encore des soucis, mais c'est pas là que je veux en venir pour l'instant.<br />
<br />
Le truc c'est que ne ligne de commande ça fonctionne, j'ai le chemin dans le fichier /tmp/chemin<br />
<br />
Par contre ce script ne renvoie rien du tout.<br />
<br />
Savez pourquoi ? Merci.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>Katden</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183233/systemes/linux/shell-commandes-gnu/retourner-fonction/</guid>
		</item>
		<item>
			<title><![CDATA[Désactiver l'autologin de Debian Live]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182917&amp;goto=newpost</link>
			<pubDate>Sun, 29 Mar 2026 16:50:50 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
j'essaie de...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
j'essaie de désactiver l'<i>autologin</i> des terminaux sur Debian live.<br />
<div class="bbcode_container">
	<div class="bbcode_description">Citation:</div>
	<div class="bbcode_quote printable">
		<hr />
		
			pourquoi ?
			
		<hr />
	</div>
</div>pour connecter l'utilisateur dont j'ai monté le répertoire personnel depuis le disque dur du PC.<br />
<br />
j'ai modifié l'<b>ExecStart</b> <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: black">/</span>usr<span style="color: black">/</span>lib<span style="color: black">/</span>systemd<span style="color: black">/</span>system<span style="color: black">/</span>getty<span style="color: black">@</span>.service</span> :<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #339933;">ExecStart</span>=
<span style="color: #339933;">ExecStart</span>=-<span style="color: black">/</span>sbin<span style="color: black">/</span>agetty <span style="color: #339933;">--noreset</span> <span style="color: #339933;">--noclear</span> - <span style="color: #808080;">${TERM}</span>
<span style="color: #808080;">#-/sbin/agetty -o '-- \\u' --noreset --noclear - ${TERM}</span></pre></td></tr></table></code><hr />
</div>j'ai fait un <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">systemctl reenable getty<span style="color: black">@</span>.service</span>,<br />
et aussi <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">systemctl daemon reload</span> avant de refaire un <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">reenable</span>...<br />
sans effet : quand je déconnecte <i>user</i>, sa session redémarre. :(</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>Invité</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182917/systemes/linux/shell-commandes-gnu/desactiver-l-autologin-debian-live/</guid>
		</item>
		<item>
			<title>zsh et fonctions</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182906&amp;goto=newpost</link>
			<pubDate>Sat, 28 Mar 2026 05:27:31 GMT</pubDate>
			<description>Salut otut le monde, 
 
Je...</description>
			<content:encoded><![CDATA[<div>Salut otut le monde,<br />
<br />
Je n'ai pas vu de discussion sur le sujet, pourtant il doit bien y en avoir - je ne suis tout de même pas tout seul à ne pas comprendre ! ... si ? - Bref, désolé si ça fait doublon, mais voici le soucis.<br />
<br />
Je viens de me décider de me mettre à zsh. Et là, je veux utiliser des fonctions:<br />
J'ai un fichier .oh-my-zsh/functions/verifpart (exécutable et lorsque je l'exécute directement depuis lq console, pqs d'erreur)<br />
Mon script principal :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">#!/usr/bin/zsh</span>
<span style="color: #808080;">#</span>
<span style="color: #808080;"># Version avec cp -a et rsync</span>
<span style="color: #808080;">#</span>
<span style="color: #339933;">d</span>=<span style="color: #FF0000;">&quot;&quot;</span>
<span style="color: #339933;">d</span>=$<span style="color: black">&#40;</span><span style="color: #0080ff;">date</span> <span style="color: #FF0000;">&quot;+%d%B%Y&quot;</span><span style="color: black">&#41;</span>
<span style="color: #0000ff;">local</span> <span style="color: #339933;">cami</span>=<span style="color: #FF0000;">&quot;&quot;</span>
<span style="color: #0000ff;">local</span> <span style="color: #339933;">cami_mnt</span>=<span style="color: #FF0000;">&quot;&quot;</span>
<span style="color: #0000ff;">local</span> <span style="color: #339933;">repdest</span>=<span style="color: #FF0000;">&quot;&quot;</span>
<span style="color: #0000ff;">local</span> <span style="color: #339933;">repsrc</span>=<span style="color: #FF0000;">&quot;&quot;</span>
<span style="color: #0000ff;">local</span> <span style="color: #339933;">filtre</span>=<span style="color: #FF0000;">&quot;&quot;</span>
<span style="color: #0000ff;">local</span> <span style="color: #339933;">trace</span>=<span style="color: #FF0000;">&quot;&quot;</span>
<span style="color: #808080;"># Charger les fonctions qui sont dans le $FPATH &agrave; ~/.oh-my-zsh/functions</span>
autoload <span style="color: #339933;">-t</span> .oh-my-zsh<span style="color: black">/</span>functions<span style="color: black">/</span>verifpart
autoload rsync_sauvegardes cpsauv
&nbsp;
...<span style="color: black">/</span>...
<span style="color: #808080;">#pointe sur le r&eacute;pertoire de montage</span>
<span style="color: #339933;">cami_mnt</span>=<span style="color: #FF0000;">&quot;/media/copie_interne&quot;</span>
<span style="color: #808080;"># V&eacute;rifier si la partition est bien mont&eacute;e, redirection de la sortie vers null pour ne pas avoir le massage</span>
verifpart <span style="color: #339933;">$cami_mnt</span></pre></td></tr></table></code><hr />
</div>Au départ j'utilisait une autre version vu que FPATH contient le bon chemin vers les fonctions, puis j'ai adopté ce format explicite pour autoload.<br />
<br />
Quoiqu'il en soit, dans les deux cas j'obtient :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0080ff;">zsh</span> <span style="color: #339933;">-X</span> <span style="color: #339933;">$SCRIPTREPZSH</span><span style="color: black">/</span>sauvegarde_hebdo_cp.zsh                 
<span style="color: black">/</span>home<span style="color: black">/</span>katden<span style="color: black">/</span>Documentos<span style="color: black">/</span>Informatique<span style="color: black">/</span>Programmation<span style="color: black">/</span>scripts<span style="color: black">/</span>zsh<span style="color: black">//</span>sauvegarde_hebdo_cp.zsh:<span style="color: #cc66cc;">74</span>: <span style="color: #0000ff;">command</span> not found: verifpart</pre></td></tr></table></code><hr />
</div>Notez le &quot;//&quot; dans le chemin du script ... ? ... (mais enfin ce n'est pas le problème)<br />
<br />
Pourriez-vous me dire pourquoi il ne trouve pas &quot;verifpart&quot; ? Merci bien.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>Katden</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182906/systemes/linux/shell-commandes-gnu/zsh-fonctions/</guid>
		</item>
		<item>
			<title><![CDATA[Fedora, "vider" la console]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182473&amp;goto=newpost</link>
			<pubDate>Thu, 05 Mar 2026 16:28:06 GMT</pubDate>
			<description>Bonjour, 
 
Je viens...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je viens d'installer WSL sur windows 11 avec une distribution Fedora pour pouvoir suivre quelques tutos de formation.<br />
Sur Ubuntu, je peux &quot;vider&quot; l'écran avec clear mais dans Fedora, ça ne fonctionne pas. J'obtiens comme réponse<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">-bash: clear: <span style="color: #0000ff;">command</span> not found</code><hr />
</div>Question 1 : Est-ce normal ? <br />
Question 2 : Quelle commande faut-il utiliser ou comment ajouter la commande clear ?<br />
<br />
Merci d'avance</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>Papy214</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182473/systemes/linux/shell-commandes-gnu/fedora-vider-console/</guid>
		</item>
		<item>
			<title><![CDATA[Explorer toute l'arborescence et pour chaque fichier .json F1 trouvé...]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182325&amp;goto=newpost</link>
			<pubDate>Thu, 26 Feb 2026 03:05:09 GMT</pubDate>
			<description>Bonjour à tous 
 
Je vous...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous<br />
<br />
Je vous expose mon petit souci : <br />
<br />
J'ai une arborescence dans lequel j'ai plusieurs fichiers .json contenant des choses comme ceci : <br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
        <span style="color: black">&#123;</span>
		<span style="color: #FF0000;">&quot;Mot&quot;</span>: <span style="color: #FF0000;">&quot;Mot1&quot;</span>,
		<span style="color: #FF0000;">&quot;propri&eacute;t&eacute; 1&quot;</span>: <span style="color: #FF0000;">&quot;toto&quot;</span>
		<span style="color: #FF0000;">&quot;propri&eacute;t&eacute; 2&quot;</span>: <span style="color: #FF0000;">&quot;tutu&quot;</span>
	<span style="color: black">&#125;</span>,
	<span style="color: black">&#123;</span>
		<span style="color: #FF0000;">&quot;Mot&quot;</span>: <span style="color: #FF0000;">&quot;Mot2&quot;</span>,
		<span style="color: #FF0000;">&quot;propri&eacute;t&eacute; 1&quot;</span>: <span style="color: #FF0000;">&quot;tata&quot;</span>
		<span style="color: #FF0000;">&quot;propri&eacute;t&eacute; 2&quot;</span>: <span style="color: #FF0000;">&quot;titi&quot;</span>
	<span style="color: black">&#125;</span>,</pre></td></tr></table></code><hr />
</div>et un fichier général dans le répertoire racine qui contient  tous les mots de tous les fichiers , et qui est sous la forme :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
       ......
       ......
	<span style="color: black">&#123;</span>
		<span style="color: #FF0000;">&quot;Mot&quot;</span>: <span style="color: #FF0000;">&quot;Mot1&quot;</span>,
		<span style="color: #FF0000;">&quot;propri&eacute;t&eacute; 1bis&quot;</span>: <span style="color: #FF0000;">&quot;c'est moi&quot;</span>
	<span style="color: black">&#125;</span>,
      .....</pre></td></tr></table></code><hr />
</div>J'aimerais pouvoir lancer un script qui explore toute l'arborescence et pour chaque fichier .json F1 trouvé, fasse un fichier F2 correspondant; en mettant uniquement ligne apres ligne les lignes &quot;propriété 1bis&quot; des mots de F1 trouvés dans le fichier dans le répertoire racine.<br />
<br />
J'arrive à faire des scripts sur pas mal de choses, mais là je sèche..<br />
<br />
Si quelqu'un peut me donner un coup de main ce serait apprécié..<br />
Merci d'avance:D</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>souviron34</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182325/systemes/linux/shell-commandes-gnu/explorer-toute-l-arborescence-fichier-json-f1-trouve/</guid>
		</item>
		<item>
			<title><![CDATA[awk n'en finit plus de me décevoir]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182095&amp;goto=newpost</link>
			<pubDate>Fri, 13 Feb 2026 15:58:15 GMT</pubDate>
			<description>Bonjour :coucou: 
 
Déjà, il...</description>
			<content:encoded><![CDATA[<div>Bonjour :coucou:<br />
<br />
Déjà, il y avait une attitude malsaine de awk à attribuer un type à une donnée, par défaut, et on ne savait pas s'il considérait le nombre à virgule, l'entier, ou le texte. Un texte vaut 0, un entier subit la division entière, et un réel, la division réelle. Le résultat est donc aléatoire, et indétectable.<br />
<br />
Mais, à l'instant, il vient de faire ceci :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0080ff;">awk</span> <span style="color: #FF0000;">'($1==307){n=($1*16+1)^(1.0/3); {print $1,n,int(n);exit;}}'</span> fichier.txt
<span style="color: #cc66cc;">307</span> <span style="color: #cc66cc;">17</span> <span style="color: #cc66cc;">16</span></pre></td></tr></table></code><hr />
</div>Ah ben oui ! La partie entière de 17, c'est 16 ! Pensez-donc. :( :calim2: :pleure:<br />
<br />
Et après, on va nous dire &quot;Non, les machines ne sont pas capables de générer de l'aléatoire.&quot;. :aie:<br />
<br />
:dehors:</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>Flodelarab</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182095/systemes/linux/shell-commandes-gnu/awk-n-finit-plus-me-decevoir/</guid>
		</item>
		<item>
			<title><![CDATA[Plus de &#8220;grep&#8221;, en Leap_15.6]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181089&amp;goto=newpost</link>
			<pubDate>Sun, 21 Dec 2025 17:08:05 GMT</pubDate>
			<description>Bonjour 
Ma machine est...</description>
			<content:encoded><![CDATA[<div>Bonjour<br />
Ma machine est animée par OpenSuse Leap_15.5 upgradé en Leap_15.6 et mon gestionnaire de fenêtres est KDE3 (hé oui&#8239;!). Après différentes petites difficultés “ordinaires”,  j'en suis arrivé aux deux accrochages suivants&#8239;:<br />
<br />
- “grep” ne marche pas (au moins en ligne de commande)<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;"># exemple :</span>
<span style="color: #0080ff;">ls</span> <span style="color: #339933;">-l</span> <span style="color: black">|</span> <span style="color: #0080ff;">grep</span> <span style="color: #FF0000;">&quot;etc&quot;</span></pre></td></tr></table></code><hr />
</div>En ce qui concerne “grep”, il me semble avoir déjà vécu ce problème, mais il y a longtemps, et comme je suis vieux, j'ai oublié la solution&#8239;!<br />
Quelqu'un aurait une idée pour arranger ça&#8239;?<br />
Merci pour votre attention.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>Paul_Le_Heros</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181089/systemes/linux/shell-commandes-gnu/plus-grep-leap_15-6-a/</guid>
		</item>
		<item>
			<title>Problème avec un attribut Ldap dans mon script shell : base64 invalid input</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181051&amp;goto=newpost</link>
			<pubDate>Fri, 19 Dec 2025 14:48:23 GMT</pubDate>
			<description>Bonjour, 
 
Je suis en train...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je suis en train de faire un script sous linux et je rencontre un pb avec des attribut Ldap que je récupère.<br />
Voici mon script :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
ldapsearch <span style="color: #339933;">-H</span> ldaps:<span style="color: black">//</span>tutu.chezmoi <span style="color: #339933;">-x</span> <span style="color: #339933;">-S</span> uid  <span style="color: #339933;">-b</span> <span style="color: #339933;">ou</span>=people,<span style="color: #339933;">dc</span>=chezmoi,<span style="color: #339933;">dc</span>=fr <span style="color: #339933;">-D</span> <span style="color: #FF0000;">&quot;cn=LDAP,ou=administrators,dc=chezmoi,dc=fr&quot;</span> <span style="color: #339933;">-w</span> <span style="color: #FF0000;">&quot;grrrrr&quot;</span>  <span style="color: #FF0000;">&quot;(&amp;(titi=OFFI)(toto=xxxx))&quot;</span> uid cn  mail bizbizEntiteAffectationPrincipale \
    <span style="color: black">|</span> <span style="color: #0080ff;">sed</span> <span style="color: #339933;">-e</span> <span style="color: #FF0000;">'/::/s/\(.*:: \)\(.*\)/echo \1 $(echo \2 |base64 --decode)/e'</span> <span style="color: black">&gt;</span>monfichier.txt</pre></td></tr></table></code><hr />
</div>Je pensais que le <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: black">/</span>::<span style="color: black">/</span>s<span style="color: black">/</span>\<span style="color: black">&#40;</span>.<span style="color: black">*</span>:: \<span style="color: black">&#41;</span>\<span style="color: black">&#40;</span>.<span style="color: black">*</span>\<span style="color: black">&#41;</span><span style="color: black">/</span><span style="color: #0000ff;">echo</span> \<span style="color: #cc66cc;">1</span> $<span style="color: black">&#40;</span><span style="color: #0000ff;">echo</span> \<span style="color: #cc66cc;">2</span> <span style="color: black">|</span>base64 --decode<span style="color: black">&#41;</span><span style="color: black">/</span></span>    permettrait à l'attribut <i>bizbizEntiteAffectationPrincipale</i> de ne pas poser de pb et d'être decodé mais en fait j'ai le message suivant dès que je mets cet attribut dans ma selection :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
base64: invalid input</pre></td></tr></table></code><hr />
</div>Est-ce que quelqu'un aurait une idée de ce que je dois mettre pour que cet attribut soit récupéré correctement , svp ?<br />
<br />
Merci d'avance,</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>FredNV</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181051/systemes/linux/shell-commandes-gnu/probleme-attribut-ldap-script-shell-base64-invalid-input/</guid>
		</item>
		<item>
			<title><![CDATA[Ecriture d'une chaine facon CSV qui fait n'imp]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2179192&amp;goto=newpost</link>
			<pubDate>Fri, 12 Sep 2025 06:55:08 GMT</pubDate>
			<description><![CDATA[Bonjour 
 
J'ai fait pas mal...]]></description>
			<content:encoded><![CDATA[<div>Bonjour<br />
<br />
J'ai fait pas mal de scripting en shell/ksh dans ma carrière, et dans le lot il m'arrivait que des faire des shell pour generer des fichiers csv, et j'ai jamais eut de problèmes avec ca.<br />
bon, ca va faire 2 ans que j'ai pas fait de scripting serieusemenet, je m'y remet pour un petit projet, et je tombe sur une anomalie que je ne parvient pas a comprendre.<br />
<br />
Je recupère des données a gauche et a droite via mon script en ksh, puis à la fin je fait une chaine de caractère type csv que je met dans un fichier.csv<br />
separateur : ;<br />
<br />
jusque la je faisait toujours de cette facon : <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">${var1}</span>;<span style="color: #800000;">${var2}</span>;<span style="color: #800000;">${var3}</span>;&quot;</span> <span style="color: black">&gt;&gt;</span> fichier.csv</code><hr />
</div><br />
La je suis sur une VM Ubuntu serveur, mon script est en ksh, mais quand je lance mon script, au final ma chaine ressemble a rien, <br />
au lieu d'avoir mes valeurs dans le bon ordre, j'ai un mélange étrange<br />
<br />
exemple : <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br /></div></td><td valign="top"><pre style="margin: 0">var1 = <span style="color: #cc66cc;">123456</span>
<span style="color: #339933;">var2</span>=toto
<span style="color: #339933;">var3</span>=<span style="color: #cc66cc;">987</span></pre></td></tr></table></code><hr />
</div><br />
au lieu d'avoir dans mon fichier : <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #cc66cc;">123456</span>;toto;<span style="color: #cc66cc;">987</span></span><br />
j'ai : <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">;toto987;<span style="color: #cc66cc;">123456</span></span><br />
<br />
c'est à n'y rien comprendre.<br />
<br />
Voici en code ma boucle qui récupère des données et les met dans un CSV final<br />
agent_demat est un fichier csv avec en entete précédé d'un#, d'ou le grep -v pour ignorer cette ligne<br />
agent_full est au csv avec des données complementaires<br />
<br />
mes csv sont tous avec un ; en separateur<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0080ff;">cat</span> <span style="color: #808080;">${agent_demat}</span> <span style="color: black">|</span> <span style="color: #0080ff;">grep</span> <span style="color: #339933;">-v</span> <span style="color: #FF0000;">&quot;^#&quot;</span> <span style="color: black">|</span> <span style="color: #0000ff;">while</span> <span style="color: #0080ff;">read</span> line
<span style="color: #0000ff;">do</span>
        <span style="color: #339933;">matricule</span>=$<span style="color: black">&#40;</span><span style="color: #0000ff;">echo</span> <span style="color: #339933;">$line</span> <span style="color: black">|</span> <span style="color: #0080ff;">cut</span> <span style="color: #339933;">-d</span><span style="color: #FF0000;">&quot;;&quot;</span> -f1<span style="color: black">&#41;</span>
        <span style="color: #339933;">fic_pdf</span>=$<span style="color: black">&#40;</span><span style="color: #0080ff;">ls</span> <span style="color: #808080;">${pdf_dir}</span><span style="color: black">/</span><span style="color: #808080;">${matricule}</span><span style="color: black">*</span>.pdf<span style="color: black">&#41;</span>
        <span style="color: #808080;">#on check qu'on a bien qu'un fichier</span>
        <span style="color: #339933;">verif</span>=$<span style="color: black">&#40;</span><span style="color: #0000ff;">echo</span> <span style="color: #808080;">${fic_pdf}</span> <span style="color: black">|</span> <span style="color: #0080ff;">wc</span> -w<span style="color: black">&#41;</span>
        <span style="color: #0000ff;">if</span> <span style="color: black">&#91;</span> <span style="color: #808080;">${verif}</span> <span style="color: #339933;">-ne</span> <span style="color: #cc66cc;">1</span> <span style="color: black">&#93;</span>; <span style="color: #0000ff;">then</span>
                <span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;ERREUR Plusieurs fichiers PDF trouve pour le matricule : <span style="color: #800000;">${matricule}</span>&quot;</span>
                <span style="color: #808080;">#on skip la suite et on passe a la suite</span>
                <span style="color: #0000ff;">continue</span>
        <span style="color: #0000ff;">fi</span>
        <span style="color: #808080;">#Recuperation info de l'agent</span>
        <span style="color: #339933;">nir</span>=$<span style="color: black">&#40;</span><span style="color: #0080ff;">grep</span> <span style="color: #808080;">${matricule}</span> <span style="color: #808080;">${agent_full}</span> <span style="color: black">|</span> <span style="color: #0080ff;">cut</span> <span style="color: #339933;">-d</span><span style="color: #FF0000;">&quot;;&quot;</span> -f3<span style="color: black">&#41;</span>
        <span style="color: #339933;">nom</span>=$<span style="color: black">&#40;</span><span style="color: #0080ff;">grep</span> <span style="color: #808080;">${matricule}</span> <span style="color: #808080;">${agent_full}</span> <span style="color: black">|</span> <span style="color: #0080ff;">cut</span> <span style="color: #339933;">-d</span><span style="color: #FF0000;">&quot;;&quot;</span> -f2<span style="color: black">&#41;</span>
        <span style="color: #808080;">#calcul du sexe par rapport au NIR</span>
        <span style="color: #339933;">sexe</span>=$<span style="color: black">&#40;</span><span style="color: #0000ff;">echo</span> <span style="color: #808080;">${nir}</span> <span style="color: black">|</span> <span style="color: #0080ff;">cut</span> -c1<span style="color: black">&#41;</span>
        <span style="color: #808080;">#calcul du status de l'agent</span>
        <span style="color: #339933;">statut</span>=$<span style="color: black">&#40;</span><span style="color: #0080ff;">grep</span> <span style="color: #808080;">${matricule}</span> <span style="color: #808080;">${agent_full}</span> <span style="color: black">|</span> <span style="color: #0080ff;">cut</span> <span style="color: #339933;">-d</span><span style="color: #FF0000;">&quot;;&quot;</span> -f4<span style="color: black">&#41;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #339933;">$statut</span> <span style="color: #0000ff;">in</span>
                <span style="color: #FF0000;">&quot;TITULAIRE&quot;</span><span style="color: black">&#41;</span>
                        <span style="color: #339933;">stat</span>=<span style="color: #FF0000;">&quot;T&quot;</span>
                        <span style="color: black">;;</span>
                <span style="color: black">*</span><span style="color: black">&#41;</span>
                        <span style="color: #339933;">stat</span>=<span style="color: #FF0000;">&quot;C&quot;</span>
                        <span style="color: black">;;</span>
        <span style="color: #0000ff;">esac</span>
        <span style="color: #339933;">priode</span>=$<span style="color: black">&#40;</span><span style="color: #0080ff;">grep</span> <span style="color: #808080;">${matricule}</span> <span style="color: #808080;">${agent_full}</span> <span style="color: black">|</span> <span style="color: #0080ff;">cut</span> <span style="color: #339933;">-d</span><span style="color: #FF0000;">&quot;;&quot;</span> -f5<span style="color: black">&#41;</span>
        <span style="color: #339933;">montant</span>=$<span style="color: black">&#40;</span><span style="color: #0080ff;">grep</span> <span style="color: #808080;">${matricule}</span> <span style="color: #808080;">${agent_full}</span> <span style="color: black">|</span> <span style="color: #0080ff;">cut</span> <span style="color: #339933;">-d</span><span style="color: #FF0000;">&quot;;&quot;</span> -f6<span style="color: black">&#41;</span>
        <span style="color: #339933;">ddnaiss</span>=$<span style="color: black">&#40;</span><span style="color: #0000ff;">echo</span> <span style="color: #339933;">$line</span> <span style="color: black">|</span> <span style="color: #0080ff;">cut</span> <span style="color: #339933;">-d</span><span style="color: #FF0000;">&quot;;&quot;</span> -f4<span style="color: black">&#41;</span>
        <span style="color: #339933;">iban</span>=$<span style="color: black">&#40;</span><span style="color: #0000ff;">echo</span> <span style="color: #339933;">$line</span> <span style="color: black">|</span> <span style="color: #0080ff;">cut</span> <span style="color: #339933;">-d</span><span style="color: #FF0000;">&quot;;&quot;</span> -f5<span style="color: black">&#41;</span>
        <span style="color: #808080;">#Renommage du PDF</span>
        <span style="color: #808080;">#generation du nom</span>
        <span style="color: #339933;">pdf_fin</span>=<span style="color: #FF0000;">&quot;<span style="color: #800000;">${nir}</span>_<span style="color: #800000;">${MAIRIE_SIREN}</span>_BPaie_<span style="color: #800000;">${dtrt}</span>_<span style="color: #800000;">${seq}</span>.pdf&quot;</span>
        <span style="color: #0080ff;">mv</span> <span style="color: #808080;">${fic_pdf}</span> <span style="color: #808080;">${pdf_dir}</span><span style="color: black">/</span><span style="color: #808080;">${pdf_fin}</span>
&nbsp;
        <span style="color: #808080;">#Ecriture CSV final</span>
        <span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">${matricule}</span>;<span style="color: #800000;">${nom}</span>;<span style="color: #800000;">${nir}</span>;<span style="color: #800000;">${sexe}</span>;<span style="color: #800000;">${ddnaiss}</span>;<span style="color: #800000;">${iban}</span>;<span style="color: #800000;">${stat}</span>;<span style="color: #800000;">${MAIRIE_SIREN}</span>;<span style="color: #800000;">${dtrt}</span>;<span style="color: #800000;">${montant}</span>;<span style="color: #800000;">${pdf_fin}</span>;<span style="color: #800000;">${seq}</span>&quot;</span> <span style="color: black">&gt;&gt;</span> <span style="color: #808080;">${csv_fin}</span>
        <span style="color: black">&#40;</span><span style="color: black">&#40;</span><span style="color: #0080ff;">seq</span>++<span style="color: black">&#41;</span><span style="color: black">&#41;</span>
<span style="color: #0000ff;">done</span></pre></td></tr></table></code><hr />
</div>si dans la boucle je ait des <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">${var1}</span>&quot;</span>
<span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">${var2}</span>&quot;</span>
...</pre></td></tr></table></code><hr />
</div>pas de soucis tout s'affiche correctement, mais des que je met tout en ligne avec les ; en separateur, tout fou le camp &gt;_&lt;<br />
<br />
Si vous trouvez l'erreur je suis preneur, car la je pense avoir les yeux qui se croisent<br />
Merci</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>Chico008</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2179192/systemes/linux/shell-commandes-gnu/ecriture-d-chaine-facon-csv-n-imp/</guid>
		</item>
		<item>
			<title>Crontab et boucle for</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2178664&amp;goto=newpost</link>
			<pubDate>Mon, 18 Aug 2025 09:17:53 GMT</pubDate>
			<description>Bonjour à tous, 
 
je pense...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
je pense être dans le bon forum.<br />
<br />
Voici mon soucis.<br />
 J'ai écris un script en bash pur faire une sauvegarde d'une partie de mes documents.<br />
Le script doit aussi vérifier si il existe deja des backup et à quelle date.<br />
Comme je compte faire un backup journalier, si des backup plus vieux de quatre jours existent, on les suppriment.<br />
<br />
Le backup et l'effacement fonctionne parfaitement lorsque je les lancent depuis un terminal.<br />
<br />
Je crée dons un cron qui lance le script tous les jours.<br />
<br />
Le backup se fait bien, mais la boucle qui vérifie si les anciens fichiers ont plus de quatre jour ne passe pas ....<br />
J'ai mis des commande de sortie vers un fichier log, et effectivement le script qui doit vérifier/effacer les fichiers demarre bien,<br />
mais la boucle (for fich in &quot;$REP&quot;*) ne passe pas.<br />
<br />
Le meme scrript dans le terminal fonctionne impeccablement.<br />
le cron est le suivant :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">#***   Sauvegarde tous le jour &agrave; 09:00 et effacement des Bck</span>
<span style="color: #cc66cc;">51</span> <span style="color: #cc66cc;">10</span> <span style="color: black">*</span> <span style="color: black">*</span> <span style="color: black">*</span> <span style="color: black">/</span>home<span style="color: black">/</span>michel<span style="color: black">/</span>Documents<span style="color: black">/</span>bash<span style="color: black">/</span>sauvegarde.sh <span style="color: #339933;">-b</span></pre></td></tr></table></code><hr />
</div>manque -t-il quelque chose dans la ligne du CRON, ?<br />
<br />
Merci de votre aide<br />
<br />
Michel</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>michel.semal</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2178664/systemes/linux/shell-commandes-gnu/crontab-boucle-for/</guid>
		</item>
		<item>
			<title>Option -N de gawk : restrictions ?</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2178616&amp;goto=newpost</link>
			<pubDate>Thu, 14 Aug 2025 16:51:59 GMT</pubDate>
			<description>Bonjour, 
 
Voici du code...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Voici du code extrait d'un script, pour avoir l'essentiel :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #339933;">COURS_ACTUEL</span>=<span style="color: #FF0000;">&quot;<span style="color: #800000;">$3</span>&quot;</span>
...
<span style="color: #0080ff;">gawk</span> <span style="color: #339933;">-N</span> <span style="color: #339933;">-F</span><span style="color: #FF0000;">';'</span> <span style="color: #339933;">-v</span> <span style="color: #339933;">isin</span>=<span style="color: #FF0000;">&quot;<span style="color: #800000;">$CODE_ISIN</span>&quot;</span> <span style="color: #339933;">-v</span> <span style="color: #339933;">cours</span>=<span style="color: #FF0000;">&quot;<span style="color: #800000;">$COURS_ACTUEL</span>&quot;</span> <span style="color: #FF0000;">'</span>
<span style="color: #FF0000;">...</span>
<span style="color: #FF0000;">END {</span>
<span style="color: #FF0000;">    # Calculs</span>
<span style="color: #FF0000;">    gain_perte = sum_net_vente + sum_net_achat + qte_restante * cours</span>
<span style="color: #FF0000;">    ...</span>
<span style="color: #FF0000;">}'</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$FICHIER_TRI</span>&quot;</span></pre></td></tr></table></code><hr />
</div>Quand je passe un nombre à virgule à l'argument 3 par exemple 3,21<br />
le calcul de gain_perte dans gawk prend pour la variable &quot;cours&quot; la partie entière du nombre, c'est à dire 3.<br />
Je pensais que l'option -N suffisait à régler ce genre de soucis.<br />
Apparemment ça ne suffit pas.<br />
<br />
Y-a-t'il quelqu'un qui a été confronté à cela ?<br />
Existe t-il une solution simple ?<br />
Que faut-il savoir sur ce sujet ?<br />
<br />
Cdt.<br />
Liam.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>Liamm</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2178616/systemes/linux/shell-commandes-gnu/option-n-gawk-restrictions/</guid>
		</item>
		<item>
			<title>Debug script recherche des dépendances</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2178246&amp;goto=newpost</link>
			<pubDate>Fri, 25 Jul 2025 07:27:59 GMT</pubDate>
			<description>Bonjour, 
Cela fait plusieurs...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
Cela fait plusieurs jours que je n'arrive pas à corriger une erreur d'un script qui détecte les dépendances utilisées dans les scripts Bash.<br />
Ce script utilise deux fichiers en entrée : &quot;fm_deps_essentielles.txt&quot; et &quot;fm_deps_completes.txt&quot; donnés en P.J.<br />
<br />
Voici l'erreur obtenu à l'exécution :<br />
$ ./pm_detect_deps_generate_v2.sh <br />
./pm_detect_deps_generate_v2.sh: ligne 42: global_counts : variable sans liaison<br />
<br />
<br />
Voici le script :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br /></div></td><td valign="top"><pre style="margin: 0">$ <span style="color: #0080ff;">cat</span> pm_detect_deps_generate_v2.sh <span style="color: #339933;">-n</span>
     <span style="color: #cc66cc;">1</span>	<span style="color: #808080;">#!/bin/bash</span>
     <span style="color: #cc66cc;">2</span>	<span style="color: #808080;"># pm_detect_deps_generate_v2.sh</span>
     <span style="color: #cc66cc;">3</span>	<span style="color: #808080;"># Detection des dependances utilisees dans les scripts Bash</span>
     <span style="color: #cc66cc;">4</span>	<span style="color: #808080;"># Resultats : fm_deps_par_script.csv (par script) fm_deps_global.csv (statistiques globales)</span>
     <span style="color: #cc66cc;">5</span>	
     <span style="color: #cc66cc;">6</span>	<span style="color: #808080;"># Declaration de la table associative pour les statistiques globales</span>
     <span style="color: #cc66cc;">7</span>	<span style="color: #0000ff;">declare</span> <span style="color: #339933;">-A</span> global_counts
     <span style="color: #cc66cc;">8</span>	
     <span style="color: #cc66cc;">9</span>	<span style="color: #0000ff;">set</span> <span style="color: #339933;">-euo</span> pipefail
    <span style="color: #cc66cc;">10</span>	
    <span style="color: #cc66cc;">11</span>	<span style="color: #339933;">file_ess</span>=<span style="color: #FF0000;">&quot;fm_deps_essentielles.txt&quot;</span>
    <span style="color: #cc66cc;">12</span>	<span style="color: #339933;">file_comp</span>=<span style="color: #FF0000;">&quot;fm_deps_completes.txt&quot;</span>
    <span style="color: #cc66cc;">13</span>	<span style="color: #339933;">output_csv</span>=<span style="color: #FF0000;">&quot;fm_deps_par_script.csv&quot;</span>
    <span style="color: #cc66cc;">14</span>	<span style="color: #339933;">output_stats</span>=<span style="color: #FF0000;">&quot;fm_deps_global.csv&quot;</span>
    <span style="color: #cc66cc;">15</span>	
    <span style="color: #cc66cc;">16</span>	<span style="color: #808080;"># V&eacute;rifier la presence des fichiers contenant les commandes connues</span>
    <span style="color: #cc66cc;">17</span>	<span style="color: #0000ff;">for</span> f <span style="color: #0000ff;">in</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$file_ess</span>&quot;</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$file_comp</span>&quot;</span>; <span style="color: #0000ff;">do</span>
    <span style="color: #cc66cc;">18</span>	    <span style="color: black">&#91;</span><span style="color: black">&#91;</span> <span style="color: black">!</span> <span style="color: #339933;">-f</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$f</span>&quot;</span> <span style="color: black">&#93;</span><span style="color: black">&#93;</span> <span style="color: black">&amp;&amp;</span> <span style="color: black">&#123;</span> <span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;&#10060; Fichier requis manquant : <span style="color: #800000;">$f</span>&quot;</span>; <span style="color: #0000ff;">exit</span> <span style="color: #cc66cc;">1</span>; <span style="color: black">&#125;</span>
    <span style="color: #cc66cc;">19</span>	<span style="color: #0000ff;">done</span>
    <span style="color: #cc66cc;">20</span>	
    <span style="color: #cc66cc;">21</span>	<span style="color: #808080;"># Lire les commandes connues (ignorer les commentaires et lignes vides)</span>
    <span style="color: #cc66cc;">22</span>	mapfile <span style="color: #339933;">-t</span> known_ess <span style="color: black">&lt;</span> <span style="color: black">&lt;</span><span style="color: black">&#40;</span><span style="color: #0080ff;">grep</span> <span style="color: #339933;">-v</span> <span style="color: #FF0000;">'^#'</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$file_ess</span>&quot;</span> <span style="color: black">|</span> <span style="color: #0080ff;">sed</span> <span style="color: #FF0000;">'/^$/d'</span><span style="color: black">&#41;</span>
    <span style="color: #cc66cc;">23</span>	mapfile <span style="color: #339933;">-t</span> known_comp <span style="color: black">&lt;</span> <span style="color: black">&lt;</span><span style="color: black">&#40;</span><span style="color: #0080ff;">grep</span> <span style="color: #339933;">-v</span> <span style="color: #FF0000;">'^#'</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$file_comp</span>&quot;</span> <span style="color: black">|</span> <span style="color: #0080ff;">sed</span> <span style="color: #FF0000;">'/^$/d'</span><span style="color: black">&#41;</span>
    <span style="color: #cc66cc;">24</span>	<span style="color: #339933;">known_all</span>=<span style="color: black">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #800000;">${known_ess[@]}</span>&quot;</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">${known_comp[@]}</span>&quot;</span><span style="color: black">&#41;</span>
    <span style="color: #cc66cc;">25</span>	
    <span style="color: #cc66cc;">26</span>	<span style="color: #808080;"># Fichiers de sortie</span>
    <span style="color: #cc66cc;">27</span>	<span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;script;dependencies;count&quot;</span> <span style="color: black">&gt;</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$output_csv</span>&quot;</span>
    <span style="color: #cc66cc;">28</span>	: <span style="color: black">&gt;</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$output_stats</span>&quot;</span>
    <span style="color: #cc66cc;">29</span>	
    <span style="color: #cc66cc;">30</span>	<span style="color: #808080;"># Trouver les scripts &agrave; analyser (sans pipe !)</span>
    <span style="color: #cc66cc;">31</span>	<span style="color: #0000ff;">while</span> <span style="color: #339933;">IFS</span>= <span style="color: #0080ff;">read</span> <span style="color: #339933;">-r</span> <span style="color: #339933;">-d</span> <span style="color: #FF0000;">''</span> script; <span style="color: #0000ff;">do</span>
    <span style="color: #cc66cc;">32</span>	    <span style="color: black">&#91;</span><span style="color: black">&#91;</span> <span style="color: black">!</span> <span style="color: #339933;">-f</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$script</span>&quot;</span> <span style="color: black">&#93;</span><span style="color: black">&#93;</span> <span style="color: black">&amp;&amp;</span> <span style="color: #0000ff;">continue</span>
    <span style="color: #cc66cc;">33</span>	
    <span style="color: #cc66cc;">34</span>	    <span style="color: #808080;"># Nettoyer les lignes : supprimer les commentaires en ligne</span>
    <span style="color: #cc66cc;">35</span>	    <span style="color: #339933;">code_cleaned</span>=$<span style="color: black">&#40;</span><span style="color: #0080ff;">sed</span> <span style="color: #FF0000;">'s/#.*//'</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$script</span>&quot;</span><span style="color: black">&#41;</span>
    <span style="color: #cc66cc;">36</span>	
    <span style="color: #cc66cc;">37</span>	    <span style="color: #339933;">found_deps</span>=<span style="color: black">&#40;</span><span style="color: black">&#41;</span>
    <span style="color: #cc66cc;">38</span>	
    <span style="color: #cc66cc;">39</span>	    <span style="color: #0000ff;">for</span> cmd <span style="color: #0000ff;">in</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">${known_all[@]}</span>&quot;</span>; <span style="color: #0000ff;">do</span>
    <span style="color: #cc66cc;">40</span>	        <span style="color: #0000ff;">if</span> <span style="color: #0080ff;">grep</span> <span style="color: #339933;">-q</span> <span style="color: #339933;">-w</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$cmd</span>&quot;</span> <span style="color: black">&lt;&lt;&lt;</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$code_cleaned</span>&quot;</span>; <span style="color: #0000ff;">then</span>
    <span style="color: #cc66cc;">41</span>	            found_deps+=<span style="color: black">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #800000;">$cmd</span>&quot;</span><span style="color: black">&#41;</span>
    <span style="color: #cc66cc;">42</span>	            <span style="color: black">&#40;</span><span style="color: black">&#40;</span>global_counts<span style="color: black">&#91;</span><span style="color: #FF0000;">&quot;<span style="color: #800000;">$cmd</span>&quot;</span><span style="color: black">&#93;</span> = global_counts<span style="color: black">&#91;</span><span style="color: #FF0000;">&quot;<span style="color: #800000;">$cmd</span>&quot;</span><span style="color: black">&#93;</span> + <span style="color: #cc66cc;">1</span><span style="color: black">&#41;</span><span style="color: black">&#41;</span>
    <span style="color: #cc66cc;">43</span>	            <span style="color: #808080;">#TC global_counts[&quot;$cmd&quot;] = global_counts[&quot;$cmd&quot;] + 1      # La ligne du dessus provoque une erreur</span>
    <span style="color: #cc66cc;">44</span>	        <span style="color: #0000ff;">fi</span>
    <span style="color: #cc66cc;">45</span>	    <span style="color: #0000ff;">done</span>
    <span style="color: #cc66cc;">46</span>	
    <span style="color: #cc66cc;">47</span>	    <span style="color: black">&#91;</span><span style="color: black">&#91;</span> <span style="color: #808080;">${#found_deps[@]}</span> <span style="color: #339933;">-eq</span> <span style="color: #cc66cc;">0</span> <span style="color: black">&#93;</span><span style="color: black">&#93;</span> <span style="color: black">&amp;&amp;</span> <span style="color: #0000ff;">continue</span>
    <span style="color: #cc66cc;">48</span>	
    <span style="color: #cc66cc;">49</span>	    <span style="color: #339933;">deps_sorted</span>=$<span style="color: black">&#40;</span><span style="color: #0000ff;">printf</span> <span style="color: #FF0000;">&quot;%s<span style="color: #800000;">\n</span>&quot;</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">${found_deps[@]}</span>&quot;</span> <span style="color: black">|</span> <span style="color: #0080ff;">sort</span> <span style="color: black">|</span> <span style="color: #0080ff;">tr</span> <span style="color: #FF0000;">'\n'</span> <span style="color: #FF0000;">','</span> <span style="color: black">|</span> <span style="color: #0080ff;">sed</span> <span style="color: #FF0000;">'s/,$//'</span><span style="color: black">&#41;</span>
    <span style="color: #cc66cc;">50</span>	    <span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$script</span>;<span style="color: #800000;">$deps_sorted</span>;<span style="color: #800000;">${#found_deps[@]}</span>&quot;</span> <span style="color: black">&gt;&gt;</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$output_csv</span>&quot;</span>
    <span style="color: #cc66cc;">51</span>	
    <span style="color: #cc66cc;">52</span>	<span style="color: #0000ff;">done</span> <span style="color: black">&lt;</span> <span style="color: black">&lt;</span><span style="color: black">&#40;</span><span style="color: #0080ff;">find</span> . <span style="color: #339933;">-type</span> f <span style="color: #339933;">-name</span> <span style="color: #FF0000;">&quot;*.sh&quot;</span> -print0<span style="color: black">&#41;</span>
    <span style="color: #cc66cc;">53</span>	
    <span style="color: #cc66cc;">54</span>	<span style="color: #808080;"># Generer le fichier des statistiques globales</span>
    <span style="color: #cc66cc;">55</span>	<span style="color: black">&#123;</span>
    <span style="color: #cc66cc;">56</span>	    <span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;command;count&quot;</span>
    <span style="color: #cc66cc;">57</span>	    <span style="color: #0000ff;">for</span> cmd <span style="color: #0000ff;">in</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">${!global_counts[@]}</span>&quot;</span>; <span style="color: #0000ff;">do</span>
    <span style="color: #cc66cc;">58</span>	        <span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$cmd</span>;<span style="color: #800000;">${global_counts[$cmd]}</span>&quot;</span>
    <span style="color: #cc66cc;">59</span>	    <span style="color: #0000ff;">done</span> <span style="color: black">|</span> <span style="color: #0080ff;">sort</span> <span style="color: #339933;">-t</span><span style="color: #FF0000;">';'</span> <span style="color: #339933;">-k2</span> <span style="color: #339933;">-nr</span>
    <span style="color: #cc66cc;">60</span>	<span style="color: black">&#125;</span> <span style="color: black">&gt;</span> <span style="color: #FF0000;">&quot;<span style="color: #800000;">$output_stats</span>&quot;</span>
    <span style="color: #cc66cc;">61</span>	
    <span style="color: #cc66cc;">62</span>	<span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;&#9989; D&eacute;tection termin&eacute;e.&quot;</span>
    <span style="color: #cc66cc;">63</span>	<span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;&rarr; Fichier par script : <span style="color: #800000;">$output_csv</span>&quot;</span>
    <span style="color: #cc66cc;">64</span>	<span style="color: #0000ff;">echo</span> <span style="color: #FF0000;">&quot;&rarr; Fichier global     : <span style="color: #800000;">$output_stats</span>&quot;</span></pre></td></tr></table></code><hr />
</div>Vous avez sûrement plus de recul que moi.<br />
Voyez-vous une explication simple à donner pour cette erreur .<br />
<br />
Cdt<br />
Liam</div>


	<div style="padding:10px">

	

	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/txt.gif" alt="Type de fichier : txt" />
	<a href="https://www.developpez.net/forums/attachments/p668996d1753427908/systemes/linux/shell-commandes-gnu/debug-script-recherche-dependances/fm_deps_essentielles.txt/">fm_deps_essentielles.txt</a> 
(253 octets)
</li><li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/txt.gif" alt="Type de fichier : txt" />
	<a href="https://www.developpez.net/forums/attachments/p668997d1753427933/systemes/linux/shell-commandes-gnu/debug-script-recherche-dependances/fm_deps_completes.txt/">fm_deps_completes.txt</a> 
(207 octets)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>Liamm</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2178246/systemes/linux/shell-commandes-gnu/debug-script-recherche-dependances/</guid>
		</item>
		<item>
			<title><![CDATA[Lien symbolique ttyACM1 -> ttyUSB0]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2178220&amp;goto=newpost</link>
			<pubDate>Wed, 23 Jul 2025 16:25:46 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
J'ai un...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
J'ai un périphérique qui permet deux moyens de connexion: en USB ou en LIAISON SERIE (on utilise un convertisseur USB-SERIE dans ce cas la)<br />
Du coup dans le cas de l'USB le périphérique apparait sous la forme &quot;/dev/ttyACM1&quot;, dans le cas de la LIAISON SERIE il apparait sous la forme &quot;/dev/ttyUSB0&quot;<br />
Mon but était de créer un lien symbolique pour que la liaison serie apparaisse comme si c'était la liaison usb.<br />
Mais du coup il y a une chose que je ne comprends pas<br />
<br />
J'ai essayé de créer un lien symbolique en créant/éditant le fichier suivant:<br />
<br />
<br />
/etc/udev/rules.d/99-symlink.rules   dans lequel j'ai mis  KERNEL==&quot;ttyUSB0&quot;, SYMLINK+=&quot;ttyACM1&quot;<br />
<br />
Le lien symbolique apparait bien dans /dev/   mais ca ne fonctionne (je ne peux pas dialoguer avec le péripherique)<br />
/dev/ttyACM1 -&gt; ttyUSB0<br />
<br />
Par contre si je créé un lien symbolique avec un autre nom que &quot;ttyACM1&quot; celui ci fonctionne,<br />
<br />
Quand je créé  /etc/udev/rules.d/99-symlink.rules   dans lequel je met KERNEL==&quot;ttyUSB0&quot;, SYMLINK+=&quot;mon_output&quot;<br />
<br />
Je n'ai pas de problème pour dialoguer avec le périphérique avec &quot;mon_output&quot;.<br />
/dev/mon_output -&gt; ttyUSB0<br />
<br />
<br />
Du coup je ne comprends pas pourquoi avec ttyACM1 cela ne fonctionne pas. La seule chose que je me dis c'est que ttyACM1 a déjà été utilisé auparavant, et donc reste peut être présent quelque part, mais il n'est en tout cas plus utilisé physiquement puisque débranché et n'apparait pas dans /dev/ à part une fois que je créé mon lien symbolique.<br />
<br />
Quelqu'un aurait il une explication ?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>yaume91</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2178220/systemes/linux/shell-commandes-gnu/lien-symbolique-ttyacm1-ttyusb0/</guid>
		</item>
		<item>
			<title>{makefile} Problème de passage de paramètre et exécution de règles</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2177501&amp;goto=newpost</link>
			<pubDate>Sat, 14 Jun 2025 10:13:30 GMT</pubDate>
			<description>voulant optimiser un makefile...</description>
			<content:encoded><![CDATA[<div>voulant optimiser un makefile exécutant un ensemble de commandes (Docker), passe par paramètre au fichier makefile<br />
 j'ai tenté de créer une règle  générique pour un groupe de commandes <br />
 cependant, je me suis rendu compte que :<br />
 la règle n'est jamais appelée du fait que le paramètre a le même nom que la fonction<br />
<img src="https://www.developpez.net/forums/attachments/p668083d1749895748/systemes/linux/shell-commandes-gnu/makefile-probleme-passage-parametre-execution-regles/screenshot-from-2025-06-14-11-28-33.png/" border="0" alt="Nom : Screenshot from 2025-06-14 11-28-33.png
Affichages : 173
Taille : 34,5 Ko"  style="float: CONFIG" /><br />
<br />
j'ai donc modifié le code pour encaisser le paramètre avec une commande addprefix mais cela donne le même résultat <br />
Dans d'autres tests, le paramètre récupéré n'existe plus dans la règle appelée (problème de thread)<br />
<br />
J'ai tenté de faire une  double substitution de chaîne de constantes mais la commande subst rend un  résultat foireux.<br />
<img src="https://www.developpez.net/forums/attachments/p668084d1749895913/systemes/linux/shell-commandes-gnu/makefile-probleme-passage-parametre-execution-regles/screenshot-from-2025-06-14-12-11-17.png/" border="0" alt="Nom : Screenshot from 2025-06-14 12-11-17.png
Affichages : 166
Taille : 37,9 Ko"  style="float: CONFIG" /><br />
<br />
existet-il un moyen de regle se probleme ou de le contourner  &lt;</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p668083d1749895748/systemes/linux/shell-commandes-gnu/makefile-probleme-passage-parametre-execution-regles/screenshot-from-2025-06-14-11-28-33.png/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p668084d1749895913/systemes/linux/shell-commandes-gnu/makefile-probleme-passage-parametre-execution-regles/screenshot-from-2025-06-14-12-11-17.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>moons17</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2177501/systemes/linux/shell-commandes-gnu/makefile-probleme-passage-parametre-execution-regles/</guid>
		</item>
		<item>
			<title>Chiffres romains et tri</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2177110&amp;goto=newpost</link>
			<pubDate>Sun, 25 May 2025 20:22:01 GMT</pubDate>
			<description>Bonjour,  
 
les nombres...</description>
			<content:encoded><![CDATA[<div>Bonjour, <br />
<br />
les nombres écrits en chiffres romains posent un problème dés lors qu'on souhaite les trier puisque ceux-ci utilisent des lettres mais ne suivent pas l'ordre alphabétique.<br />
<br />
Pour parer à ce problème, j'ai donc eu l'idée d'utiliser non pas des &quot;I&quot;, des &quot;V&quot; et des &quot;X&quot; de la plage ASCII, mais les points de code de U+2160 à U+2169 (<a rel="nofollow" href="https://www.utf8-chartable.de/unicode-utf8-table.pl?start=8544&amp;view=3" target="_blank">ROMAN NUMERAL x</a>) de manière à avoir un unique point de code pour figurer un nombre (je n'ai pas besoin de grands nombres).<br />
<br />
J'ai ensuite procédé à quelques tests en créant des fichiers nommés (en UTF-8) avec ces fameux points de code.<br />
<br />
Test 1:<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">#!/usr/bin/env bash</span>
&nbsp;
<span style="color: #0080ff;">mkdir</span> <span style="color: #FF0000;">'Livre Lambda'</span>
<span style="color: #0000ff;">cd</span> <span style="color: #FF0000;">'Livre Lambda'</span>
&nbsp;
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8544;'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8545;'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8546;'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8547;'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8548;'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8549;'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8550;'</span></pre></td></tr></table></code><hr />
</div><br />
Si je fais: <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0080ff;">find</span> . <span style="color: #339933;">-type</span> f <span style="color: #339933;">-printf</span> <span style="color: #FF0000;">&quot;%f<span style="color: #800000;">\n</span>&quot;</span> <span style="color: black">|</span> <span style="color: #339933;">LC_COLLATE</span>=C <span style="color: #0080ff;">sort</span></span>, j'obtiens bien l'ordre attendu:<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td valign="top"><pre style="margin: 0">Tome &#8544;
Tome &#8545;
Tome &#8546;
Tome &#8547;
Tome &#8548;
Tome &#8549;
Tome &#8550;</pre></td></tr></table></code><hr />
</div>Ce qui n'est pas étonnant vu que dans ce cas les noms de fichiers sont comparés &quot;bêtement&quot; octet par octet.<br />
J'obtiens le même résultat avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #339933;">LC_COLLATE</span>=fr_FR.UTF-<span style="color: #cc66cc;">8</span></span>. Donc jusque là, pas de problème.<br />
<br />
Test 2: <div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">#!/usr/bin/env bash</span>
&nbsp;
<span style="color: #0080ff;">mkdir</span> <span style="color: #FF0000;">'&Agrave; la recherche du temps perdu'</span>
<span style="color: #0000ff;">cd</span> <span style="color: #FF0000;">'&Agrave; la recherche du temps perdu'</span>
&nbsp;
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8544; : Du c&ocirc;t&eacute; de chez Swann'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8545; : &Agrave; l&#146;ombre des jeunes filles en fleurs'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8546; : Le C&ocirc;t&eacute; de Guermantes'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8547; : Sodome et Gomorrhe &#8544; et &#8545;'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8548; : La Prisonni&egrave;re'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8549; : Albertine disparue'</span>
<span style="color: #0080ff;">touch</span> <span style="color: #FF0000;">'Tome &#8550; : Le Temps retrouv&eacute;'</span></pre></td></tr></table></code><hr />
</div><br />
Si je fais: <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0080ff;">find</span> . <span style="color: #339933;">-type</span> f <span style="color: #339933;">-printf</span> <span style="color: #FF0000;">&quot;%f<span style="color: #800000;">\n</span>&quot;</span> <span style="color: black">|</span> <span style="color: #339933;">LC_COLLATE</span>=C <span style="color: #0080ff;">sort</span></span>, j'obtiens toujours l'ordre attendu.<br />
Par contre si je change la collation en <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #339933;">LC_COLLATE</span>=fr_FR.UTF-<span style="color: #cc66cc;">8</span></span> alors là rien ne va plus car le Tome &#8548; est propulsé en fin de liste:<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td valign="top"><pre style="margin: 0">Tome &#8544; : Du c&ocirc;t&eacute; de chez Swann
Tome &#8545; : &Agrave; l&#146;ombre des jeunes filles en fleurs
Tome &#8546; : Le C&ocirc;t&eacute; de Guermantes
Tome &#8547; : Sodome et Gomorrhe &#8544; et &#8545;
Tome &#8549; : Albertine disparue
Tome &#8550; : Le Temps retrouv&eacute;
Tome &#8548; : La Prisonni&egrave;re</pre></td></tr></table></code><hr />
</div><br />
Pour quelle raison?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f365/systemes/linux/shell-commandes-gnu/">Shell et commandes GNU</category>
			<dc:creator>CosmoKnacki</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2177110/systemes/linux/shell-commandes-gnu/chiffres-romains-tri/</guid>
		</item>
	</channel>
</rss>
