<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://forum.ubuntu-fr.org/extern.php?action=feed&amp;tid=1057831&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Forum Ubuntu-fr.org / [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
		<link>http://forum.ubuntu-fr.org/viewtopic.php?id=1057831</link>
		<description><![CDATA[Les sujets les plus récents dans [Résolu] Remplacement dans un fichier sans fichier temporaire.]]></description>
		<lastBuildDate>Mon, 08 Oct 2012 06:53:52 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11045011#p11045011</link>
			<description><![CDATA[<p>Peut être le bash que j&#039;utilise est buggée... Mon script est destiné à tourner sous RedHat EL 6.2 (ou CentOS 6.2).<br />Du coup, je garde la méthode via le petit fichier temporaire, dans le lequel je stocke le contenu du hash. Là, &quot;if&quot; ne m&#039;engueule plus ^^</p><p>A ce stade, le résultat obtenu me convient parfaitement. Les temps de génération sont divisés par deux c&#039;est parfait.</p><p>Merci pour votre aide.</p>]]></description>
			<author><![CDATA[dummy@example.com (obibann)]]></author>
			<pubDate>Mon, 08 Oct 2012 06:53:52 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11045011#p11045011</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015841#p11015841</link>
			<description><![CDATA[<p>Chez moi, les 3 formes que tu as utilisées en #16 fonctionnent dans un script bash.</p>]]></description>
			<author><![CDATA[dummy@example.com (pingouinux)]]></author>
			<pubDate>Fri, 05 Oct 2012 16:39:46 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015841#p11015841</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015771#p11015771</link>
			<description><![CDATA[<div class="codebox"><pre><code>GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (obibann)]]></author>
			<pubDate>Fri, 05 Oct 2012 16:24:24 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015771#p11015771</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015711#p11015711</link>
			<description><![CDATA[<p>Quelle est ta version de <strong>bash</strong> ?</p><div class="codebox"><pre><code>$ bash --version
GNU bash, version 4.2.24(1)-release (x86_64-pc-linux-gnu)</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (pingouinux)]]></author>
			<pubDate>Fri, 05 Oct 2012 16:17:54 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015711#p11015711</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015581#p11015581</link>
			<description><![CDATA[<p>En passant par un fichier temporaire ça marche :</p><div class="codebox"><pre><code>echo -n &quot;MD5SUM=$md5sum&quot; &gt; /tmp/md5sum
dd if=/tmp/md5sum of=$FINAL_NAME bs=1 seek=$md5byte conv=notrunc
rm -f /tmp/md5sum</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (obibann)]]></author>
			<pubDate>Fri, 05 Oct 2012 16:02:16 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015581#p11015581</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015531#p11015531</link>
			<description><![CDATA[<div class="codebox"><pre><code>#!/bin/bash
[...]
md5sum=`sed -e &#039;1,/^&#039;$BIN_SEPARATOR&#039;$/d&#039; &quot;$FINAL_NAME&quot; | md5sum - | awk &#039;{print $1}&#039;`
md5byte=`head -n200 &quot;$FINAL_NAME&quot; | grep -b &quot;^MD5SUM=&quot; | cut -d&quot;:&quot; -f1`
dd if=&lt;(echo -n MD5SUM=$md5sum) of=$FINAL_NAME bs=1 seek=$md5byte conv=notrunc
ddcommand=&quot;dd if=&lt;(echo -n MD5SUM=$md5sum) of=$FINAL_NAME bs=1 seek=$md5byte conv=notrunc&quot;
eval $ddcommand
dd if=&lt;(echo -n MD5SUM=c7f0b9dfd40da9561253983c0ecc044f) of=webEnv_uninstall_1000.bin bs=1 seek=615 conv=notrunc</code></pre></div><p>Les 3 méthodes pour le dd échouent :</p><div class="codebox"><pre><code>dd: opening `&lt;(echo -n MD5SUM=9d850edb583a8b36c1f9dc3bbcd51c7f)&#039;: No such file or directory</code></pre></div><p>Par contre, si je lance la commande (avec ou sans variables) directement dans le terminal, ça fonctionne...</p>]]></description>
			<author><![CDATA[dummy@example.com (obibann)]]></author>
			<pubDate>Fri, 05 Oct 2012 15:56:30 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015531#p11015531</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015401#p11015401</link>
			<description><![CDATA[<p>Comment as-tu lancé le script ? Il doit être lancé en <strong>bash</strong>, pas en <strong>sh</strong>.</p>]]></description>
			<author><![CDATA[dummy@example.com (pingouinux)]]></author>
			<pubDate>Fri, 05 Oct 2012 15:46:55 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015401#p11015401</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015291#p11015291</link>
			<description><![CDATA[<p>Bon par contre, la commande dd ne veut pas s’exécuter dans un fichier bash...</p>]]></description>
			<author><![CDATA[dummy@example.com (obibann)]]></author>
			<pubDate>Fri, 05 Oct 2012 15:39:44 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11015291#p11015291</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11014971#p11014971</link>
			<description><![CDATA[<p>Super !!! Ça fonctionne à merveille.</p><p>Pour localiser la ligne :</p><div class="codebox"><pre><code>head -n50 mon_bash | grep -b &quot;^MD5SUM=&quot;</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (obibann)]]></author>
			<pubDate>Fri, 05 Oct 2012 15:15:49 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11014971#p11014971</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11014421#p11014421</link>
			<description><![CDATA[<div class="quotebox"><cite>olibann #10 a écrit&#160;:</cite><blockquote><div><p>On m&#039;a proposé de le faire avec dd, mais je ne trouve pas comment.</p></div></blockquote></div><p>Voici un exemple :</p><div class="codebox"><pre><code>$ cat mon_bash
#!/bin/bash

# Début du fichier bash

MD5SUM=&quot;00000000000000000000000000000000&quot;

# Suite du fichier bash</code></pre></div><div class="codebox"><pre><code>dd if=&lt;(echo -n 6d2bf9d6ebe32f56c7ab8bdbb53d1e9f) of=mon_bash bs=1 seek=47 conv=notrunc</code></pre></div><div class="codebox"><pre><code>$ cat mon_bash
#!/bin/bash

# Début du fichier bash

MD5SUM=&quot;6d2bf9d6ebe32f56c7ab8bdbb53d1e9f&quot;

# Suite du fichier bash</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (pingouinux)]]></author>
			<pubDate>Fri, 05 Oct 2012 14:21:02 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11014421#p11014421</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11014361#p11014361</link>
			<description><![CDATA[<div class="quotebox"><cite>obibann a écrit&#160;:</cite><blockquote><div><p>Oui mais dans ce cas, ma variable n&#039;est plus déclarée en début de script, je ne peut donc plus récupérer sa valeur.</p></div></blockquote></div><p>En recuperant la taille totale, tu peux recuperer la somme en fin, au moins en C.<br />Sinon en laissant exactement la place (MD5SUM=&quot;[MD5SUMMD5SUMMD5SUMMD5SUMMD5SUM]&quot;) pour l&#039;insérer sans modifier la taille du fichier ?</p>]]></description>
			<author><![CDATA[dummy@example.com (compte supprimé)]]></author>
			<pubDate>Fri, 05 Oct 2012 14:17:42 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11014361#p11014361</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11014021#p11014021</link>
			<description><![CDATA[<div class="quotebox"><cite>alduc1 a écrit&#160;:</cite><blockquote><div><p>Ajouter le md5sum en fin du bash+archive est peut être plus pratique. Tu sais combien d&#039;octets tu écris en fin et donc tu sais les virer pour decompresser. A la création c&#039;est juste un append au fichier bash+tar.gz et donc il faut juste caluler la somme sur le fichier total bash+tar.gz.</p></div></blockquote></div><p>Oui mais dans ce cas, ma variable n&#039;est plus déclarée en début de script, je ne peut donc plus récupérer sa valeur.</p><p>Pour info, j&#039;ai fait un test de lecture séquentielle en PHP (pour aller vite) et ça marche parfaitement. La modification de ma ligne est instantanée car je ne lit que 20 lignes, modifie 1 ligne ensuite je m&#039;arrête.</p><p>Au pire, si je ne trouve pas d&#039;autres solutions, je serais obligé de faire un petit programme C... Mais c&#039;est dommage d&#039;en arriver là <img src="http://forum.ubuntu-fr.org/img/smilies/tongue.png" width="15" height="15" alt="tongue" /></p><p>On m&#039;a proposé de le faire avec dd, mais je ne trouve pas comment.</p>]]></description>
			<author><![CDATA[dummy@example.com (obibann)]]></author>
			<pubDate>Fri, 05 Oct 2012 13:52:30 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11014021#p11014021</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11013951#p11013951</link>
			<description><![CDATA[<p>Ajouter le md5sum en fin du bash+archive est peut être plus pratique. Tu sais combien d&#039;octets tu écris en fin et donc tu sais les virer pour decompresser. A la création c&#039;est juste un append au fichier bash+tar.gz et donc il faut juste caluler la somme sur le fichier total bash+tar.gz.</p>]]></description>
			<author><![CDATA[dummy@example.com (compte supprimé)]]></author>
			<pubDate>Fri, 05 Oct 2012 13:48:40 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11013951#p11013951</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11013541#p11013541</link>
			<description><![CDATA[<p>Ce n&#039;est pas tout à fait ça. Mon fichier final contient une partie bash, puis une partie binaire.<br />Le hash stocké dans la partie bash correspond au hash de la partie binaire.</p><p>La partie bash sert à extraire automatiquement le binaire, puis à déployer son contenu (il s&#039;agit d&#039;un tar.gz).<br />Il fait également tout un tas d&#039;autres choses <img src="http://forum.ubuntu-fr.org/img/smilies/tongue.png" width="15" height="15" alt="tongue" />.</p><p>Actuellement, je créé mon tar.gz, je md5sum, je stock le hash dans le fichier sh, puis je rassemble le tout.<br />Ce que je souhaiterai, c&#039;est éviter de passer par une archive intermédiaire et de créer mon tar.gz directement à la suite de mon sh (je divise ainsi par 2 les temps de création).</p><p>Cependant, en faisant comme ça je suis obligé de stocker mon hash dans le fichier final qui est gros, d&#039;où mon problème de fichier temporaire.</p>]]></description>
			<author><![CDATA[dummy@example.com (obibann)]]></author>
			<pubDate>Fri, 05 Oct 2012 13:18:58 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11013541#p11013541</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu] Remplacement dans un fichier sans fichier temporaire]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=11013351#p11013351</link>
			<description><![CDATA[<div class="quotebox"><cite>obibann a écrit&#160;:</cite><blockquote><div><p>La chaine à remplacer ne fait pas forcement le même nombre de bits.<br />Je remplace un marqueur par sa valeur.</p><div class="codebox"><pre><code>MD5SUM=&quot;[MD5SUM]&quot;</code></pre></div><p>devient</p><div class="codebox"><pre><code>MD5SUM=&quot;6a5bc1cc5f80a48b540bc09d082b5855&quot;</code></pre></div><p>Le but étant de construire mon fichier puis d&#039;y stocker son hash pour des vérifications lors de son utilisation.</p></div></blockquote></div><p>Ca veut dire que pour vérifier l&#039;intégrité de ton fichier, tu fais l&#039;opération inverse : lecture du md5sum stocké dans le fichier, le replacer par le pattern initial et calculer la somme md5 sur le fichier ?<br />L&#039;idéal est de rajouter les octets md5sum en fin de fichier dans ce cas.</p>]]></description>
			<author><![CDATA[dummy@example.com (compte supprimé)]]></author>
			<pubDate>Fri, 05 Oct 2012 13:01:22 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=11013351#p11013351</guid>
		</item>
	</channel>
</rss>
