Preklopeni binarniho souboru do TXT

Václav Ovsík vaclav.ovsik na gmail.com
Úterý Leden 24 14:08:00 CET 2017


On Tue, Jan 24, 2017 at 01:55:42PM +0100, Václav Ovsík wrote:
> On Tue, Jan 24, 2017 at 01:23:42PM +0100, Jan Waclawek wrote:
> > > dd if=/bin/sh bs=1 |od -Anone -tu1 -v | sed -r 's/^[[:space:]]+//; s/[[:space:]]+/,/g;'
> > 
> > Vam nieco padlo na klavesnicu, pan kolega? ;-)
> > 
> > Ale obdivujem Vas. Toto prevadzkovat v realnom zivote je snad este tazsie
> > ako programovat v BF... :-D
> 
> tak jo, byla to trochu provokace, kdyz sla rec o te lenosti ;)
> 
> Uz spis administruju nez programuju. Letmo jsem zkusil z cvicnych duvodu
> vzpomenout jako by se to napsalo v C
> 
>     #include <stdio.h>
> 
>     int main() {
> 	unsigned c;
> 	unsigned i = 0;
> 	while ( (c = getchar()) != EOF ) {
> 	    printf("%d", c);
> 	    putchar((++i & 0xF) == 0 ? '\n' : ',');
> 	}
> 	return 0;
>     }

Anebo asi takto:

    #include <stdio.h>

    int main() {
	unsigned c;
	unsigned i = 0;
	char sep = 0;
	while ( (c = getchar()) != EOF ) {
	    if ( sep )
		putchar(sep);
	    printf("%d", c);
	    sep = (++i & 0xF) == 0 ? '\n' : ',';
	}
	putchar('\n');
	return 0;
    }

To vypada, ze uz funguje ve shode s tim shell onelinerem.

    zito na bobek:~$ echo Ahoj |od -Anone -tu1 -v | sed -r 's/^[[:space:]]+//; s/[[:space:]]+/,/g;' 
    65,104,111,106,10
    zito na bobek:~$ echo Ahoj | /tmp/decdump
    65,104,111,106,10


-- 
Zito


Další informace o konferenci Hw-list