• Viernes 19 de Abril de 2024, 14:33

Autor Tema:  Igualar  (Leído 2518 veces)

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Igualar
« en: Miércoles 8 de Noviembre de 2006, 17:54 »
0
Hola he vuelto estuve en gira de trabajo como unos 10 dias y estoy aqui de nuevo. bueno tengo una consulta habra una forma de igualar una cadena, por ejemplo en fox utilizo el upper()
lo que necesito es comparar el nombre de un archivo con una cadena que tengo pero es un archivo que varia el nombre, la extension, etc, y quisiera que cuando haga un ls y mas lo haga con el upper. pero he estado buscando algun comando parecido para manejar en linux y no aparece
Espero haberme explicado :blink:
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Igualar
« Respuesta #1 en: Miércoles 8 de Noviembre de 2006, 20:45 »
0
La verdad es que no entiendo...
Si cadena es una link a un archivo tenes el comando readlink.
No espera, hablas de tener (a-z) y pasarlo a (A-Z) ?
Buneo no entiendo, ¿Que tratas de hacer?
 :blink:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Igualar
« Respuesta #2 en: Miércoles 8 de Noviembre de 2006, 20:53 »
0
exacto su    a = A
Bueno voy a Revisa el tama;o de unos archivos en especificos  y cuando esten un tama;o que me envie un correo
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Igualar
« Respuesta #3 en: Miércoles 8 de Noviembre de 2006, 22:07 »
0
Cita de: "juez"
exacto su    a = A
Bueno voy a Revisa el tama;o de unos archivos en especificos  y cuando esten un tama;o que me envie un correo
Bueno, no conosco algo para hacer esto en Bash, supongo que se usaria Awk, Perl o algo de un nivel mas alto.
Te pongo este programita en Perl para que lo uses como si fuera un comando:

Código: Text
  1. #!/usr/bin/env perl
  2. use strict;
  3. die "Usese asi:\n$0 palabra\n" until $ARGV[0];
  4. my @letras = qw(a b c d e f g h i j k l m n ñ o p q r s t u v w x y z);
  5. my @mayu = qw(A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z);
  6. my $palabra;
  7. foreach my $letra (split "", $ARGV[0]){
  8.   for (my $i = 0; $i < $#mayu; $i++){
  9.      $letra =~ s/$letras[$i]/$mayu[$i]/eg;
  10.   }
  11.   $palabra = "$palabra$letra";
  12. }
  13. print "$palabra\n";
  14.  
  15.  
:smartass:

Ahora no entiendo para que quieres hacer eso pero bueno, con esto lo solucionas.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Igualar
« Respuesta #4 en: Jueves 9 de Noviembre de 2006, 23:48 »
0
Algo mas:
Código: Text
  1. setxkbmap es -print | xkbcomp - $DISPLAY
  2.  
Con esto podras poner "ñ" y usar el teclado es  :lol:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: Igualar
« Respuesta #5 en: Viernes 10 de Noviembre de 2006, 16:09 »
0
Para renombrar de minusculas a mayuscula o al reves, en bash rename no te sirve?

y claro usando expesiones regulares... perl
Código: Text
  1. rename 'y/A-Z/a-z/' archivos
  2.  

Era eso?  :unsure:

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Igualar
« Respuesta #6 en: Viernes 10 de Noviembre de 2006, 20:46 »
0
Cita de: "shakka"
Para renombrar de minusculas a mayuscula o al reves, en bash rename no te sirve?

y claro usando expesiones regulares... perl
Código: Text
  1. rename 'y/A-Z/a-z/' archivos
  2.  

Era eso?  :unsure:
 :ph34r:  no recorde el modificador y{}{}; eso me pasa por usar nada mas s////eg;  :blink:
pero creo que no es para renombrar archivos o si?
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Igualar
« Respuesta #7 en: Sábado 2 de Diciembre de 2006, 14:14 »
0
k tal amigos esto es lo que he hecho, en el poco tiempo que me queda libre,pero por el momento he obviado la parte de cambiar la palabra de mayuscula a minuscula y viceversa.

Código: Text
  1. #/bin/sh
  2.  
  3. cd Directorio
  4. mTa=("archivo1.DBF" "archivo2.dbf" "archivo3.DBF")
  5. function Revisar {
  6.  
  7.   vTam=  du -m $1 | cut -f 1-1
  8.  
  9.    if [ "$vTam" -gt "1800" ]&#59; then
  10.        #Es mayor
  11.        #enviar correo
  12.    fi
  13.  
  14. }
  15.  
  16. vC=0
  17. for i in 0 to 2
  18. do
  19.  
  20.    Revisar ${mTa[vC]}
  21.    vC=$(( $vC + 1 ))
  22.  
  23. done
  24.  

Bueno tengo un problemita, la variable vTam al cual se le asigna el tamano del archivo no lo est'a haciendo. la variable queda en blanco, que creen que podra ser.
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Igualar
« Respuesta #8 en: Sábado 2 de Diciembre de 2006, 15:22 »
0
Creo que no justifica hacerlo en Bash:
Código: Text
  1. #!/usr/bin/env perl
  2. use strict;
  3. chdir "Directorio" or die "Directirio: $!\n";
  4. my @mTa = ("archivo1.DBF", "archivo2.dbf", "archivo3.DBF");
  5. foreach (@mTa){
  6.   if(-f $_){
  7.     if((-s $_) > 1800){ #-s retorna el tamaño en bytes
  8.       #hacer lo que quieras hacer...
  9.     }
  10.   }
  11.   else {
  12.     print "$_ no existe\n";
  13.   }
  14. }
  15.  
  16.  
Ademas, cuando haces du es solo para directorios
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Igualar
« Respuesta #9 en: Sábado 2 de Diciembre de 2006, 16:07 »
0
ok gracias du pero me estoy guiando por esto

Citar
Este comando informa al usuario de la cantidad de almacenamiento utilizado por los archivos especificados, posee varias opciones, su sintaxis es la siguiente:

En la ayuda tambien habla de que para obtener el tamaño de arhivos o directorios.
A esto de perl tambien se le puede asignar un crontab
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Igualar
« Respuesta #10 en: Sábado 2 de Diciembre de 2006, 17:14 »
0
:blink:
Citar
Summarize disk usage of each FILE, recursively for directories
Ahora que lo veo bien, tendrias que usae
Código: Text
  1. du -a archivo
  2.  
En si es mejor el que he hecho en Perl puesto que chequea si el archivo existe y si el directorio tambien existe, el resto seria segun lo que quieras hacer...
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.