Ich benutze awk, um einen binären Stream zu teilen, und ich kann jeden Teil in eine for-Schleife wie diese bringen.
for(i=1;i<=NF;i++)
Ich möchte nicht jedes Feld in Text oder Argumente konvertieren, sondern es einfach direkt an einen Befehl übergeben.
Ich versuche so etwas zu finden,
for(i=1;i<=NF;i++) system("decode")
aber das funktioniert offensichtlich nicht. Dekodierung erhält keine Eingabe.
Wie bekomme ich die Decodierung, um jedes Feld in der Schleife zu empfangen?
Funktioniert das nicht für Sie?
%Vor%Er sendet jedes Feld (oder Byte in Ihrem Fall) an eine Pipe, die mit dem Programm "decode" verbunden ist.
Schließen Sie danach die "decode" -Rohre, um eine Bereinigung aller Daten auf dieser Pipe zu erzwingen.
Sie können mehr über gawk redirection auf Ссылка
lesenWenn Sie "decode" für jedes einzelne Byte ausführen möchten, schließen Sie einfach die Pipe in jeder Iteration:
%Vor%Versuchen Sie das zu tun?
%Vor% Dies sollte jedes Feld, das in der awk-Variablen $i
enthalten ist, an das externe Programm decode
übergeben. Beachten Sie, dass die Variable außerhalb der Anführungszeichen für "decode "
liegt oder dass sie von der Shell anstelle von awk interpretiert wird.
Tags und Links binary-data awk