Hallo,

Am Fri, 13 May 2005, Martin Dickopp schrieb:
>David Haller <[EMAIL PROTECTED]> writes:
>
>>>  dd if=$1 of=- bs=584 seek=$SEEK count=1 |\
>>
>> Da fehlt die Umrechung in die Bloecke (s.u.)... Du rufst so dd fuer
>> jedes byte auf...
>
>Was meinst Du mit "Umrechung in die Bl�cke"?

Das was du nicht zitiert hast. "for SEEK in `seq 0 $SIZE`"
d.h. fuer jedes Byte der Eingabedatei wird das dd aufgerufen.

>Dieser Befehl f�hrt eine einzige Leseoperation aus, in der er 584 Bytes
>liest. Fehlerhaft ist allerdings, da� "seek" nicht im Input, sondern im
>Output Bl�cke �berspringt. Gemeint war wohl "skip".

Stimmt.

>> BLKSZ=584
>> [...]
>>     dd if="$1" bs="$BLKSZ" seek="$seek" count=1 | \
>
>Abgesehen vom fehlenden "of=-", Unterschieden im Quoting und unter-
>schiedlichen Variablennamen unterscheidet sich das nicht von der Zeile,
>die Du kritisiert hattest.

Du hast's wieder nicht zitiert.

Jetzt also nochmal richtig:

====
BLKSZ=584
SIZE=`wc -c < "$1"`
BLOCKS=`echo "($SIZE / $BLKSZ)" | bc` ### das hier ist der
                                      ### Unterschied. Da seq ab 0
                                      ### kann das "+1" doch wegfallen.

for skip in `seq 0 $BLOCKS`; do
    dd if="$1" bs="$BLKSZ" skip="$skip" count=1 | \
        netcat -u -q 0 127.0.0.0 2006 || break
done
====

-dnh

-- 
NT is the only OS that has caused me to beat a piece of hardware to death
with my bare hands.                                      -- Derry Hamilton


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an