fsz.sh 711 B

12345678910111213141516171819202122232425262728
  1. #!/bin/bash
  2. function handle_file {
  3. inFile=$1
  4. echo inFile: $inFile
  5. outFile=$inFile.out
  6. inSize=`stat -c "%s" $inFile`
  7. inSize32HexBe=`printf "%08x\n" $inSize`
  8. inSize32HexLe=${inSize32HexBe:6:2}${inSize32HexBe:4:2}${inSize32HexBe:2:2}${inSize32HexBe:0:2}
  9. echo "inSize: $inSize (0x$inSize32HexBe, LE:0x$inSize32HexLe)"
  10. echo $inSize32HexLe | xxd -r -ps > $outFile
  11. cat $inFile >> $outFile
  12. echo outFile: $outFile
  13. outSize=`stat -c "%s" $outFile`
  14. outSize32HexBe=`printf "%08x\n" $outSize`
  15. echo "outSize: $outSize (0x$outSize32HexBe)"
  16. }
  17. if [ "$1" = "" -o "$1" = "--help" ]; then
  18. echo "Add file size(32bits, Little Endian) before the content."
  19. echo "Usage: ./fsz.sh <file>"
  20. exit 1
  21. fi
  22. handle_file "$@"