Advertisement
DavidsonDFGL

FileCombinator

Jan 11th, 2014
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.46 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. echo "------------------------------------------------"
  4. echo "         FC v1.0, by Hououim Kyouma"
  5. echo "------------------------------------------------"
  6. echo ""
  7.  
  8. juntar()
  9. {
  10.     if [ "$1" == "" ] || [ "$2" == "" ] || [ "$3" == "" ]; then
  11.     error
  12.     else
  13.     if [ -e "$1" ] && [ -e "$2" ]; then
  14.        
  15.         rm .info 2&>/dev/null
  16.         echo -en "\n" >> .info
  17.         echo -n  "########@@@@" >> .info
  18.         tamanho=$(wc -c $2 | cut -d' ' -f1)
  19.         echo -en $tamanho >> .info
  20.         echo -en "\n" >> .info
  21.  
  22.         cat $1 .info $2 > $3
  23.         rm .info 2&>/dev/null
  24.        
  25.         echo "----------------------------------------------------------"
  26.         echo -n "Arquivos juntos com sucesso no novo arquivo: "
  27.         echo -n $3
  28.         echo -en ", XD\n"
  29.         echo "----------------------------------------------------------"
  30.     else
  31.         echo "-----------------------------------------------"
  32.         echo "Os arquivos nao existem!, digite nomes validos!"
  33.         echo "-----------------------------------------------"
  34.     fi
  35.     fi
  36. }
  37.  
  38. obter()
  39. {
  40.     if [ "$1" == "" ] || [ "$2" == "" ]; then
  41.     error
  42.     else
  43.     if [ -e "$1" ]; then
  44.         echo "-----------------------------------"
  45.         echo "Lendo arquivo binario...           "
  46.         tam1=$(du -b $1 | cut -f1 -s)
  47.         tam2=$(cat $1 | grep -a '^[#]\{8\}[@]\{4\}[0-9]\+' | tr -c -d 0-9)
  48.        
  49.         if [ "$tam2" != "" ]; then
  50.         echo -ne "Extraindo o arquivo "
  51.         echo -ne $2
  52.         echo -ne " ...\n"
  53.         tamanho=$(($tam1-$tam2));
  54.         dd if=$1 of=$2 ibs=1 skip=$tamanho 2>/dev/null
  55.         echo "-----------------------------------"
  56.         else
  57.         echo "Este arquivo nao foi criado por mim, estas me trollando?"
  58.         echo "-----------------------------------"
  59.         fi
  60.  
  61.     else
  62.         echo "-----------------------------------------------------"
  63.         echo "Arquivo de origem nao existe!, digite um nome valido!"
  64.         echo "-----------------------------------------------------"
  65.     fi
  66.     fi
  67. }
  68.  
  69. error()
  70. {
  71.     echo "-----------------------------------------------------------------------------"
  72.     echo "Parametros incorretos:"
  73.     echo "FC [operando] -j, -d"
  74.     echo "-d arq_ori arq_dest    - (Obtem o arquivo secundario pelo arquivo de origem) "
  75.     echo "-j arq1 arq2 arq_dest  - (Gera outro arquivo com a juncao dos dois primeiros)"
  76.     echo "-----------------------------------------------------------------------------"
  77. }
  78.  
  79. if [ "$1" == "-j" ]; then
  80.     juntar $2 $3 $4
  81. else
  82.     if [ "$1" == "-d" ]; then
  83.     obter $2 $3
  84.     else
  85.     error
  86.     fi
  87. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement