Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 20 de 31

Tema: Mi primer script [descompresión]

  1. #1
    dulcesito espacial (^_^


    Moderador
    Avatar de cristianhcd
    Fecha de ingreso
    31 ago, 09
    Ubicación
    santiago
    Mensajes
    16,290

    Mi primer script [descompresión]

    hice un mini script para descomprimir todo,

    Código PHP:
    #!/bin/bash

    ##extracción zip
    for zip in `ls|grep .zip`
    do 
    unzip $zip
    done

    ##extracción tar
    for tar in `ls|grep .tar`
    do 
    tar -xvf $tar
    done

    ##extracción gzip
    for gzip in `ls|grep .gzip`
    do 
    gzip -d $tar
    done

    ##extracción tarbz2
    for tarbz2 in `ls|grep .tar.bz2`
    do 
    tar xjvf $tarbz2
    done

    ##extracción targz
    for targz in `ls|grep .tar.bz2`
    do 
    tar -xzvf $targz
    done

    ##extracción rar
    for rar in `ls | grep .rar
    do 
    unrar $rar
    done

    ##extracción lha
    for lha in `ls | grep .lha
    do 
    lha -x $lha
    done

    ##extracción arj
    for arj in `ls | grep .arj
    do 
    unarj $arj
    done

    ##extracción zoo
    for zoo in `ls | grep .zoo
    do 
    zoo -x $arj
    done

    echo "listo :D" 
    pero me falta eliminar todos los archivos originales... cómo lo hago... me ayudan plis

    pd: ese done está bien al final de cada operación, o debo dejarlo sólo al final antes del echo para avisarme que lo hizo?

  2. #2
    Usuario Avatar de p0tr0
    Fecha de ingreso
    22 nov, 10
    Mensajes
    201

    Re: Mi primer script [descompresión]

    Esto es C?????

  3. #3
    dulcesito espacial (^_^


    Moderador
    Avatar de cristianhcd
    Fecha de ingreso
    31 ago, 09
    Ubicación
    santiago
    Mensajes
    16,290

    Re: Mi primer script [descompresión]

    variables de ciclo y condicionante (tio yakko me dijo como se llamaba hace un día ), al ldo de los comandos de siempre en la consola

  4. #4
    Usuario Avatar de p0tr0
    Fecha de ingreso
    22 nov, 10
    Mensajes
    201

    Re: Mi primer script [descompresión]

    Te refieres a las condicionantes??? pero como se llaman esos comodines que usas?? digo, para buscarlos y aprender algunos... con suerte conozco el grep, el "&&" y el "|°, que pa mas recacha los tenia contemplados al reves... Quisiera aprender a hacer estos scripts, pero quisiera saber que lenguaje se usa...

  5. #5
    - Avatar de waller
    Fecha de ingreso
    09 nov, 08
    Ubicación
    Santiago
    Mensajes
    44

    Re: Mi primer script [descompresión]


  6. #6
    pingüino mal genio
    Avatar de yakko
    Fecha de ingreso
    24 ago, 04
    Ubicación
    /root
    Mensajes
    23,915

    Re: Mi primer script [descompresión]

    Cita Iniciado por p0tr0 Ver mensaje
    Esto es C?????
    es BASH
    Cita Iniciado por cristianhcd Ver mensaje
    variables de ciclo y condicionante (tio yakko me dijo como se llamaba hace un día ), al ldo de los comandos de siempre en la consola
    no veo ninguna condicionante.


    aer, odio hacer scripts y soy el wn más ñurdo programando, pero este es la palta (voy a ir pegando a medida que lo complete, no hinchen las pelotas por mientras (igual lo pueden ir probando)

    PD: seguramente hay muchas maneras de hacerlo más eficiente, pero con mi pobre nivel de programación, esto es lo que hay.

    Código:
    #!/bin/bash
    clear
    
    function buscar {
                    find . \( -name "*.zip" -o -name "*.tar" -o -name "*.gzip" -o -name "*.tar.gz" -o -name "tar.bz2" -o -name "*.rar"  \)
    }
    
    function borrar {
                    find . \( -name "*.zip" -o -name "*.tar" -o -name "*.gzip" -o -name "*.tar.gz" -o -name "tar.bz2" -o -name "*.rar"  \) -exec rm -i {} \;
    }
    
    
    ### menu #### 
    while :
    do
    
    clear
    
    
    echo -e "********************************************************"
    echo -e "********************************************************"
    echo -e "\n* [1] Listar los archivos comprimidos de este directorio" 
    echo -e "* [2] Descomprimir archivos en este directorio" 
    echo -e "* [3] Borrar los archivos comprimidos "
    echo -e "* [q] Salir\n "
    echo -e "* NOTA: BORRAR ARCHIVOS LOS ELIMINARÁ PERMANENTEMENTE"
    echo -e "********************************************************"
    echo -e "********************************************************"
    
    echo -e "\nIngrese opción [1-3, q ]: "
    read OPT
    case $OPT in
    
    1)
            export EXISTE=$(buscar)
            clear
            echo -e "\nBuscando archivos comprimidos...\n"
            if [ -z "$EXISTE" ]; then
                    echo -e "** No se encontraron archivos comprimidos. **\n"
    
            else
                    clear
                    echo -e "$EXISTE \n"
            fi
    
            echo -e "Presione ENTER para continuar. . ."; read; clear ;;
    
    
    2)
            export EXISTE=$(buscar)
            clear
            if [ -z "$EXISTE" ]; then
                    echo -e "\nNo existen archivos para descomprimir...\n"
               else
                    echo -e "\nDescomprimiendo archivos...\n"
                    find . -name "*.zip"     -exec unzip -d {}. {} \; 
                    find . -name "*.rar"     -exec unrar e {} {}./ \; 
                    find . -name "*.tar.gz"  -exec tar xfz {}  \;    
                    find . -name "*.tar"     -exec tar xf  {}  \;     
                    find . -name "*.tar.bz2" -exec tar xfj {}  \;      
                    echo -e "\n\n*** Descompresión Finalizada ***\n"
            fi
    
            echo -e "Presione ENTER para continuar. . ."; read; clear ;;
    
    3)
            clear
            export BORRADOS=$(buscar)
            if [ -z "$BORRADOS" ]; then
                    echo -e "\n No hay archivos para borrar\n"
                else
                    echo -e "\nBorrando archivos...\n"
                    echo -e "** ESTA ACCIÓN NO SE PUEDE DESHACER **\n"
                    borrar
                            export BORRADOS=$(buscar)
                            if [ -z "$BORRADOS" ]; then
                                    clear
                                    echo -e "\n** Todos los archivos comprimidos han sido borrados **\n"
                                    else
                                    clear
                                    echo -e "\n** No se borraron todos los archivos comprimidos **\n"
                            fi
            fi
            echo -e "\nPresione ENTER para continuar. . ." ; read; clear ;;
    
    q) exit 0;;
    *)
    echo -e "Error, por favor seleccione  1,2,3 ó Q";
    echo -e "Presione ENTER para continuar. . ." ; read ;;
    
    esac
    done
    ver 0.1
    ver 0.2

    ver 0.3

    ya funciona, me dio paja hacer algo más pro, pero cumple con lo pedido
    Última edición por yakko; 01/02/2012 a las 14:48
    narf

  7. #7
    Buscando el norte
    Avatar de Kensho
    Fecha de ingreso
    16 ago, 06
    Ubicación
    En este cuerpo que me contiene.
    Mensajes
    1,877

    Re: Mi primer script [descompresión]

    yo hice algo parecido para buscar clases dentro de jars (los cuales son zips al fin y al cabo),

    Código:
    for z in *.$1
    do
            mkdir `basename $z .$1`
            cd `basename $z .$1`
            unzip ../$z
            cd ..
    done
    de este código se desprende mi recomendación de crear una carpeta para el zip y descomprimirlo ahí,
    para así evitar sobreescrituras de archivos en la descompresión y desorden.
    A los que contemplan la luna las nubes a veces ofrecen una pausa.

    Portable: Shure se-215 / HifiMan RE-0 / Sennheiser PX-200 II | Studio: Samson Resolv 40a / Fiio A1 | HT: Onkyo TX-SR 308 / Paradigm Titan Monitor v. 6

  8. #8
    pingüino mal genio
    Avatar de yakko
    Fecha de ingreso
    24 ago, 04
    Ubicación
    /root
    Mensajes
    23,915

    Re: Mi primer script [descompresión]

    Cita Iniciado por Kensho Ver mensaje
    de este código se desprende mi recomendación de crear una carpeta para el zip y descomprimirlo ahí,
    para así evitar sobreescrituras de archivos en la descompresión y desorden.
    eso no debería pasar si la gente comprimiera como corresponde.
    narf

  9. #9
    Buscando el norte
    Avatar de Kensho
    Fecha de ingreso
    16 ago, 06
    Ubicación
    En este cuerpo que me contiene.
    Mensajes
    1,877

    Re: Mi primer script [descompresión]

    Cita Iniciado por yakko Ver mensaje
    eso no debería pasar si la gente comprimiera como corresponde.
    dependex de qué descomprimas, ej: si zipeas pr0n fotos, su nombre puede ser el correlativo que le dé la cámara, repetible.
    A los que contemplan la luna las nubes a veces ofrecen una pausa.

    Portable: Shure se-215 / HifiMan RE-0 / Sennheiser PX-200 II | Studio: Samson Resolv 40a / Fiio A1 | HT: Onkyo TX-SR 308 / Paradigm Titan Monitor v. 6

  10. #10
    pingüino mal genio
    Avatar de yakko
    Fecha de ingreso
    24 ago, 04
    Ubicación
    /root
    Mensajes
    23,915

    Re: Mi primer script [descompresión]

    ya está listo, si lo van a editar véanlo con algo que resalte el código en colores (como vim).
    narf

  11. #11
    Soy una rata
    Avatar de BalroG
    Fecha de ingreso
    02 sep, 03
    Ubicación
    Santiago
    Mensajes
    5,770

    Re: Mi primer script [descompresión]

    yakko esta rebueno




    y el código tb


  12. #12
    %00body{background:#000} Avatar de ebanyu
    Fecha de ingreso
    13 jul, 08
    Ubicación
    Array
    Mensajes
    572

    Re: Mi primer script [descompresión]

    Cita Iniciado por yakko Ver mensaje
    es BASH

    no veo ninguna condicionante.


    aer, odio hacer scripts y soy el wn más ñurdo programando, pero este es la palta (voy a ir pegando a medida que lo complete, no hinchen las pelotas por mientras (igual lo pueden ir probando)

    PD: seguramente hay muchas maneras de hacerlo más eficiente, pero con mi pobre nivel de programación, esto es lo que hay.

    Código:
    #!/bin/bash
    clear
    
    function buscar {
                    find . \( -name "*.zip" -o -name "*.tar" -o -name "*.gzip" -o -name "*.tar.gz" -o -name "tar.bz2" -o -name "*.rar"  \)
    }
    
    function borrar {
                    find . \( -name "*.zip" -o -name "*.tar" -o -name "*.gzip" -o -name "*.tar.gz" -o -name "tar.bz2" -o -name "*.rar"  \) -exec rm -i {} \;
    }
    
    
    ### menu #### 
    while :
    do
    
    clear
    
    
    echo -e "********************************************************"
    echo -e "********************************************************"
    echo -e "\n* [1] Listar los archivos comprimidos de este directorio" 
    echo -e "* [2] Descomprimir archivos en este directorio" 
    echo -e "* [3] Borrar los archivos comprimidos "
    echo -e "* [q] Salir\n "
    echo -e "* NOTA: BORRAR ARCHIVOS LOS ELIMINARÁ PERMANENTEMENTE"
    echo -e "********************************************************"
    echo -e "********************************************************"
    
    echo -e "\nIngrese opción [1-3, q ]: "
    read OPT
    case $OPT in
    
    1)
            export EXISTE=$(buscar)
            clear
            echo -e "\nBuscando archivos comprimidos...\n"
            if [ -z "$EXISTE" ]; then
                    echo -e "** No se encontraron archivos comprimidos. **\n"
    
            else
                    clear
                    echo -e "$EXISTE \n"
            fi
    
            echo -e "Presione ENTER para continuar. . ."; read; clear ;;
    
    
    2)
            export EXISTE=$(buscar)
            clear
            if [ -z "$EXISTE" ]; then
                    echo -e "\nNo existen archivos para descomprimir...\n"
               else
                    echo -e "\nDescomprimiendo archivos...\n"
                    find . -name "*.zip"     -exec unzip -d {}. {} \; 
                    find . -name "*.rar"     -exec unrar e {} {}./ \; 
                    find . -name "*.tar.gz"  -exec tar xfz {}  \;    
                    find . -name "*.tar"     -exec tar xf  {}  \;     
                    find . -name "*.tar.bz2" -exec tar xfj {}  \;      
                    echo -e "\n\n*** Descompresión Finalizada ***\n"
            fi
    
            echo -e "Presione ENTER para continuar. . ."; read; clear ;;
    
    3)
            clear
            export BORRADOS=$(buscar)
            if [ -z "$BORRADOS" ]; then
                    echo -e "\n No hay archivos para borrar\n"
                else
                    echo -e "\nBorrando archivos...\n"
                    echo -e "** ESTA ACCIÓN NO SE PUEDE DESHACER **\n"
                    borrar
                            export BORRADOS=$(buscar)
                            if [ -z "$BORRADOS" ]; then
                                    clear
                                    echo -e "\n** Todos los archivos comprimidos han sido borrados **\n"
                                    else
                                    clear
                                    echo -e "\n** No se borraron todos los archivos comprimidos **\n"
                            fi
            fi
            echo -e "\nPresione ENTER para continuar. . ." ; read; clear ;;
    
    q) exit 0;;
    *)
    echo -e "Error, por favor seleccione  1,2,3 or 4";
    echo -e "Presione ENTER para continuar. . ." ; read ;;
    
    esac
    done
    ver 0.1
    ver 0.2

    ver 0.3

    ya funciona, me dio paja hacer algo más pro, pero cumple con lo pedido

    El problema es que si uno de los archivos zip contiene otro archivo zip (pasa bastante xD), al ejecutar la orden 2 descomprimir y luego 3 borrar ,, va a borrar el zip "hijo"

    podría ponerse algo como:

    Código:
    find . -wholename '*.zip' -exec unzip {} \; -exec rm {} \;
    para que borre solo archivos que descomprimió.

    Saludos.
    Última edición por ebanyu; 01/02/2012 a las 14:21
    Send it from notebook with my chubi fingers.

    Blog informatico: http://www.ebanyu.com.ar

    -------------------

  13. #13
    pingüino mal genio
    Avatar de yakko
    Fecha de ingreso
    24 ago, 04
    Ubicación
    /root
    Mensajes
    23,915

    Re: Mi primer script [descompresión]

    Cita Iniciado por Longinus Ver mensaje
    El problema es que si uno de los archivos zip contiene otro archivo zip (pasa bastante xD), al ejecutar la orden 2 descomprimir y luego 3 borrar ,, va a borrar el zip "hijo"
    te pregunta archivo por archivo, justamente para que eso no pase.
    podría ponerse algo como:

    Código:
    find . -wholename '*.zip' -exec unzip {} \; -exec rm {} \;
    para que borre solo archivos que descomprimió.

    Saludos.
    y si no quieres borrarlo mejor agregarle
    Código:
    find . -wholename '*.zip' -exec unzip {} \; -exec rm -i {} \;
    Última edición por yakko; 01/02/2012 a las 14:30
    narf

  14. #14
    %00body{background:#000} Avatar de ebanyu
    Fecha de ingreso
    13 jul, 08
    Ubicación
    Array
    Mensajes
    572

    Re: Mi primer script [descompresión]

    Cita Iniciado por yakko Ver mensaje
    te pregunta archivo por archivo, justamente para que eso no pase.
    y si no quieres borrarlo mejor agregarle
    Código:
    find . -wholename '*.zip' -exec unzip {} \; -exec rm -i {} \;
    juaz no vi la funcion borrar, pero entonces con el -i preguntaría por cada archivo? seria una paja enorme si son caleta de archivos xD!

    saludos
    Send it from notebook with my chubi fingers.

    Blog informatico: http://www.ebanyu.com.ar

    -------------------

  15. #15
    pingüino mal genio
    Avatar de yakko
    Fecha de ingreso
    24 ago, 04
    Ubicación
    /root
    Mensajes
    23,915

    Re: Mi primer script [descompresión]

    Cita Iniciado por Longinus Ver mensaje
    juaz no vi la funcion borrar, pero entonces con el -i preguntaría por cada archivo? seria una paja enorme si son caleta de archivos xD!

    saludos
    si no pregunta y borra algo que no querías cagaste nomas.
    narf

  16. #16
    dulcesito espacial (^_^


    Moderador
    Avatar de cristianhcd
    Fecha de ingreso
    31 ago, 09
    Ubicación
    santiago
    Mensajes
    16,290
    Gracias a todos... Voy a leer ese manualcito cuando llegue a la casa

    Enviado desde mi GT-I5500L usando Tapatalk

  17. #17

  18. #18
    Avanzado Avatar de Gatts
    Fecha de ingreso
    28 feb, 06
    Mensajes
    1,513

    Re: Mi primer script [descompresión]

    Yakko, sos groso sabeLOL +10



  19. #19
    mi gato :D

    Moderador
    Avatar de Eliezar
    Fecha de ingreso
    01 feb, 07
    Ubicación
    Viña del Mar
    Mensajes
    5,707

    Re: Mi primer script [descompresión]

    me pueden pegar una ayuda

    tengo este for que es para crear una lista de usuarios ldap , el problema es q no encuentro la forma de hacer q me sume un numero en el campo uidnumber

    Código:
    #!/bin/bash
    
    
    
    
    for ((e=1100; e<1147; e++))
    
    do
    	
    	for i in $(cat hostnames-primerpiso.txt);
    	do
    	
    	
    
    		echo "dn: cn=$i,ou=users,dc=example
    		cn: $i 
    		gidnumber: 500
    		homedirectory: /home/$i
    		loginshell: /bin/bash
    		objectclass: inetOrgPerson
    		objectclass: posixAccount
    		objectclass: top
    		sn: $i
    		uid: $i 
    		uidnumber: $e " >> ldap.user.ldif
    
    	done
    done
    esto y meter el primer for dentro del otro osviamente no cumple lo q kiero , de todas las formas q se me ocurrio meter un numero siempre hace lo mismo , o sea un for dentro de otro for no sirve .

    Esto es resimple pero me dejo pillo

    ---------- Post added at 11:51 ---------- Previous post was at 11:31 ----------

    bueno esto me sirvio

    Código PHP:
    #!/bin/bash


    a=1100

    for i in $(cat hostnames-primerpiso.txt);
    do

            echo 
    "dn: cn=$i,ou=users,dc=example
            cn: $i 
            gidnumber: 500
            homedirectory: /home/$i
            loginshell: /bin/bash
            objectclass: inetOrgPerson
            objectclass: posixAccount
            objectclass: top
            sn: $i
            uid:$i 
            uidnumber: $a " 
    >> ldap.user.ldif
        
            let 
    "a+=1"
        


    done 
    toy feliz ,

  20. #20
    GΣΣK Avatar de VittokoX
    Fecha de ingreso
    01 oct, 07
    Ubicación
    [root@proxy ~]#
    Mensajes
    4,906

    Re: Mi primer script [descompresión]

    Yo creé un script que me limpiara los logs del sarg (que no se limpian automágicamente :ffuu ) :B


Página 1 de 2 12 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
*