|
|
|
|
||||||
| fr.comp.os.unix Système UNIX. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonjour,
est il possible de modifier directement les octets d'un fichier plutot que leur representation? Par exemple, si je souhaite prendre un fichier, et supprimer un octet sur deux? Je sais qu'un court programme en C effectue ce genre de manips, mais qu'en est il des outils shells? Merci |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
octane@alinto.com :
> est il possible de modifier directement les octets d'un fichier plutot > que leur representation? Je ne comprends rien à cette phrase. > Par exemple, si je souhaite prendre un fichier, et supprimer un octet > sur deux? while true; do if dd bs=1 count=1 && dd bs=1 count=1 >/dev/null; then :; else break; fi done Mais ça va être catastrophiquement lent par rapport à un programme dans un langage moins limité. |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
Luc Habert wrote in message <e2qeci$2p2q$1@nef.ens.fr>:
> while true; do > if dd bs=1 count=1 && dd bs=1 count=1 >/dev/null; then :; else break; fi > done Pourquoi mettre la condition dans un if plutôt que directement dans le while? Accessoirement, je ne crois pas que dd échoue en cas de fin de fichier. |
|
|
|
#4 (permalink) |
|
Messages: n/a
Hébergeur: |
>> est il possible de modifier directement les octets d'un fichier plutot
>> que leur representation? > >Je ne comprends rien à cette phrase. soit le fichier : <HTML><BODY>bonjour</BODY></HTML> une representation du fichier est: bonjour mais le fichier n'est pas ce qui est represente. Je pense plus aux fichiers textes qui peuvent etre UTF ou texte, qui ont des retours chariots non écrits ou autre chose. Je vais essayer d'etre plus clair: Je cherche a prendre un octet sur deux dans un flux d'octets quelconque. Tous les octets sont dans un fichier. >while true; do > if dd bs=1 count=1 && dd bs=1 count=1 >/dev/null; then :; else break; fi >done Ou est l'entree de mon fichier et sa sortie? |
|
|
|
#5 (permalink) |
|
Messages: n/a
Hébergeur: |
On 27 Apr 2006 05:34:42 -0700, octane@alinto.com wrote:
> Bonjour, > > est il possible de modifier directement les octets d'un fichier plutot > que leur representation? > > Par exemple, si je souhaite prendre un fichier, et supprimer un octet > sur deux? [...] $ echo abcdef | perl -ne 'BEGIN{$/=\2}print substr $_,0,1' ace -- Stephane |
|
|
|
#6 (permalink) |
|
Messages: n/a
Hébergeur: |
> On 27 Apr 2006 05:34:42 -0700, octane@alinto.com wrote: >> Par exemple, si je souhaite prendre un fichier, et supprimer un octet >> sur deux? > [...] À (at) 27 Apr 2006 13:16:10 GMT, Stephane Chazelas <stephane_chazelas@yahoo.fr> écrivait (wrote): > > $ echo abcdef | perl -ne 'BEGIN{$/=\2}print substr $_,0,1' > ace Joli ! -- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> |
|
|
|
#7 (permalink) |
|
Messages: n/a
Hébergeur: |
octane@alinto.com wrote:
> > Je vais essayer d'etre plus clair: > Je cherche a prendre un octet sur deux dans un flux d'octets > quelconque. Tous les octets sont dans un fichier. Tu veux les octets d'ordre pair ou d'ordre impair ? |
|
![]() |
| Outils de la discussion | |
|
|