come convertire una stringa in un file intero binario usando la riga di comando in linux

StackOverflow https://stackoverflow.com/questions/422840

  •  05-07-2019
  •  | 
  •  

Domanda

Quello che voglio è prendere un numero intero rappresentato come una stringa, ad esempio " 1234 " e convertirlo in un file chiamato int, contenente un intero endian big a 32 bit, con il valore 1234.

L'unico modo in cui ho capito per farlo è qualcosa di simile

echo 1234 | awk '{printf "0: %08X", $1}' | xxd -r > int

che è un po 'brutto!

Qualcuno conosce un modo migliore?

È stato utile?

Soluzione 2

ok bene visto che Mark William sembra essere andato male, posterò la versione corretta della sua risposta

echo 1234 | perl -e 'print pack("N", <STDIN>); > int

Altri suggerimenti

Un modo leggermente più semplice sarebbe:

printf "0: %08X" 1234 | xxd -r > int

questo sembra produrre lo stesso output sul mio sistema. assicurati di controllare perldoc -f pack.

echo '1234' | perl -e 'print pack("nn", 0,<STDIN>);' > int

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top