Re: Script

"Jose P. Carballo" <[email protected]> Fri, 3 Apr 2009 01:26:02 -0600
Newsgroups gmane.org.user-groups.linux.gulcr
Message-ID <[email protected]>
--000e0cd4d252ff38e00466a175d9
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Esteban qu=C3=A9 tal.
Honestamente no s=C3=A9 mucho de programar en bash, pero lo que busca hacer=
 es
muy simple con Perl.
Mi soluci=C3=B3n se basa en
http://perlenespanol.com/tutoriales/modulos/usando_filefind.html, en donde
dice Archivos que terminen con .pl

Ponga este en un contenido en un archivo que puede llamar, digamos, "
script.pl".

Lo =C3=BAnico que tiene que editar en este script es el directorio inicial =
en que
el script va a trabajar. Por ejemplo si quiere hacer su operaci=C3=B3n sobr=
e los
archivos del directorio /var/www/ solo cambie en la l=C3=ADnea que defina l=
a
variable $dir '/home/usuario/' por '/var/www/'.



#!/usr/bin/perl
use strict;
use File::Find;

my $dir =3D '/home/usuario/';

find(\&quitar_caracter_final, $dir);

sub quitar_caracter_final{
my $elemento =3D $_;
if(-f $elemento && $elemento =3D~ /~$/){
if($File::Find::name =3D~ /~$/){
print "Archivo \"$File::Find::name\" renombrado como \"$`\"\n";
system("mv $File::Find::name $`");
}
}
}


Para ejecutarlo:

$ perl script.pl

PD: solo se neceista un conocimiento b=C3=A1sico de perl y de expresiones
regulares, pero si tiene alg=C3=BAn problema me puede decir.

Disculpe que tardara en responder, hasta ahora veo el correo.


El 18 de marzo de 2009 8:45, Esteban Monge
<[email protected]>escribi=C3=B3:

> Hola:
>
> Ocupo hacer un script en bash que elimine un caracter del nombre de un
> archivo, ejemplo:
> Creative Suite 3 Design Premium Read Me.html~ y que lo renombre a Creativ=
e
> Suite 3 Design Premium Read Me.html
>
> Osea que elimine el ~, y que sea recursivo.
>
> Saludos.
>
> --
> http://nuevaeracr.blogspot.com
> Linux user number 478378
> Linux machine number 386687
> Tec. Esteban Monge Mar=C3=ADn
> Tel: (506) 8379-3562
>
> =E2=80=9CNo habr=C3=A1 manera de desarrollarnos y salir de
> la pobreza mientras los pocos negocios
> grandes de nuestro medio se entreguen a las
> econom=C3=ADas for=C3=A1neas y nosotros nos
> quedemos con solo negocios de pobre,
> mientras en vez de ser propietarios de nuestro
> propio pa=C3=ADs nos convirtamos en un ej=C3=A9rcito de
> empleados del exterior=E2=80=9D
> Jos=C3=A9 Figueres Ferrer, 1952.
>



--=20
Jose Pablo Carballo

--000e0cd4d252ff38e00466a175d9
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Esteban qu=C3=A9 tal.<div><br></div><div>Honestamente no s=C3=A9 mucho de p=
rogramar en bash, pero lo que busca hacer es muy simple con Perl.<div><br><=
/div><div>Mi soluci=C3=B3n se basa en=C2=A0<a href=3D"http://perlenespanol.=
com/tutoriales/modulos/usando_filefind.html">http://perlenespanol.com/tutor=
iales/modulos/usando_filefind.html</a>, en donde dice=C2=A0<span class=3D"A=
pple-style-span" style=3D"font-family: verdana; font-size: 12px; font-weigh=
t: bold; -webkit-border-horizontal-spacing: 10px; -webkit-border-vertical-s=
pacing: 10px; ">Archivos que terminen con .pl</span></div>
<div><br></div><div>Ponga este en un contenido en un archivo que puede llam=
ar, digamos, &quot;<span class=3D"Apple-style-span" style=3D"font-weight: b=
old;">script.pl</span>&quot;.</div><div><br></div><div>Lo =C3=BAnico que ti=
ene que editar en este script es el directorio inicial en que el script va =
a trabajar. Por ejemplo si quiere hacer su operaci=C3=B3n sobre los archivo=
s del directorio /var/www/ solo cambie en la l=C3=ADnea que defina la varia=
ble $dir &#39;/home/usuario/&#39; por &#39;/var/www/&#39;.</div>
<div><br></div><div><br></div><div><br></div><div><div><span class=3D"Apple=
-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-style-span" =
style=3D"color: rgb(0, 0, 153);">#!/usr/bin/perl</span></span></div><div><s=
pan class=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"=
Apple-style-span" style=3D"color: rgb(0, 0, 153);">use strict;</span></span=
></div>
<div><span class=3D"Apple-style-span" style=3D"font-weight: bold;"><span cl=
ass=3D"Apple-style-span" style=3D"color: rgb(0, 0, 153);">use File::Find;</=
span></span></div><div><span class=3D"Apple-style-span" style=3D"font-weigh=
t: bold;"><span class=3D"Apple-style-span" style=3D"color: rgb(0, 0, 153);"=
><br>
</span></span></div><div><span class=3D"Apple-style-span" style=3D"font-wei=
ght: bold;"><span class=3D"Apple-style-span" style=3D"background-color: rgb=
(255, 255, 255);"><span class=3D"Apple-style-span" style=3D"color: rgb(204,=
 0, 0);">my $dir =3D &#39;/home/usuario/&#39;;</span></span></span></div>
<div><span class=3D"Apple-style-span" style=3D"font-weight: bold;"><span cl=
ass=3D"Apple-style-span" style=3D"color: rgb(0, 0, 153);"><br></span></span=
></div><div><span class=3D"Apple-style-span" style=3D"font-weight: bold;"><=
span class=3D"Apple-style-span" style=3D"color: rgb(0, 0, 153);">find(\&amp=
;quitar_caracter_final, $dir);</span></span></div>
<div><span class=3D"Apple-style-span" style=3D"font-weight: bold;"><span cl=
ass=3D"Apple-style-span" style=3D"color: rgb(0, 0, 153);"><br></span></span=
></div><div><span class=3D"Apple-style-span" style=3D"font-weight: bold;"><=
span class=3D"Apple-style-span" style=3D"color: rgb(0, 0, 153);">sub quitar=
_caracter_final{</span></span></div>
<div><span class=3D"Apple-tab-span" style=3D"white-space:pre"><span class=
=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-sty=
le-span" style=3D"color: rgb(0, 0, 153);">	</span></span></span><span class=
=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-sty=
le-span" style=3D"color: rgb(0, 0, 153);">my $elemento =3D $_;</span></span=
></div>
<div><span class=3D"Apple-tab-span" style=3D"white-space:pre"><span class=
=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-sty=
le-span" style=3D"color: rgb(0, 0, 153);">	</span></span></span><span class=
=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-sty=
le-span" style=3D"color: rgb(0, 0, 153);">if(-f $elemento &amp;&amp; $eleme=
nto =3D~ /~$/){</span></span></div>
<div><span class=3D"Apple-tab-span" style=3D"white-space:pre"><span class=
=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-sty=
le-span" style=3D"color: rgb(0, 0, 153);">		</span></span></span><span clas=
s=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-st=
yle-span" style=3D"color: rgb(0, 0, 153);">if($File::Find::name =3D~ /~$/){=
</span></span></div>
<div><span class=3D"Apple-tab-span" style=3D"white-space:pre"><span class=
=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-sty=
le-span" style=3D"color: rgb(0, 0, 153);">			</span></span></span><span cla=
ss=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-s=
tyle-span" style=3D"color: rgb(0, 0, 153);">print &quot;Archivo \&quot;$Fil=
e::Find::name\&quot; renombrado como \&quot;$`\&quot;\n&quot;;</span></span=
></div>
<div><span class=3D"Apple-tab-span" style=3D"white-space:pre"><span class=
=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-sty=
le-span" style=3D"color: rgb(0, 0, 153);">			</span></span></span><span cla=
ss=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-s=
tyle-span" style=3D"color: rgb(0, 0, 153);">system(&quot;mv $File::Find::na=
me $`&quot;);</span></span></div>
<div><span class=3D"Apple-tab-span" style=3D"white-space:pre"><span class=
=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-sty=
le-span" style=3D"color: rgb(0, 0, 153);">		</span></span></span><span clas=
s=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-st=
yle-span" style=3D"color: rgb(0, 0, 153);">}</span></span></div>
<div><span class=3D"Apple-tab-span" style=3D"white-space:pre"><span class=
=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-sty=
le-span" style=3D"color: rgb(0, 0, 153);">	</span></span></span><span class=
=3D"Apple-style-span" style=3D"font-weight: bold;"><span class=3D"Apple-sty=
le-span" style=3D"color: rgb(0, 0, 153);">}</span></span></div>
<div><span class=3D"Apple-style-span" style=3D"font-weight: bold;"><span cl=
ass=3D"Apple-style-span" style=3D"color: rgb(0, 0, 153);">}</span></span></=
div></div><div><br></div><div><br></div><div>Para ejecutarlo:</div><div><br=
></div>
<div>$ perl script.pl</div><div><br></div><div>PD: solo se neceista un cono=
cimiento b=C3=A1sico de perl y de expresiones regulares, pero si tiene alg=
=C3=BAn problema me puede decir.</div><div><br></div><div>Disculpe que tard=
ara en responder, hasta ahora veo el correo.</div>
<div><br></div><div><br><div><div class=3D"gmail_quote">El 18 de marzo de 2=
009 8:45, Esteban Monge <span dir=3D"ltr">&lt;<a href=3D"mailto:esteban.fra=
[email protected]">[email protected]</a>&gt;</span> escribi=C3=B3:=
<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-lef=
t:1px #ccc solid;padding-left:1ex;">
Hola:<br><br>Ocupo hacer un script en bash que elimine un caracter del nomb=
re de un archivo, ejemplo:<br>Creative Suite 3 Design Premium Read Me.html~=
 y que lo renombre a Creative Suite 3 Design Premium Read Me.html<br><br>

Osea que elimine el ~, y que sea recursivo.<br><br>Saludos.<br clear=3D"all=
"><br>-- <br><a href=3D"http://nuevaeracr.blogspot.com" target=3D"_blank">h=
ttp://nuevaeracr.blogspot.com</a><br>Linux user number 478378<br>Linux mach=
ine number 386687<br>

Tec. Esteban Monge Mar=C3=ADn<br>Tel: (506) 8379-3562<br><br>=E2=80=9CNo ha=
br=C3=A1 manera de desarrollarnos y salir de<br>la pobreza mientras los poc=
os negocios<br>grandes de nuestro medio se entreguen a las<br>econom=C3=ADa=
s for=C3=A1neas y nosotros nos<br>

quedemos con solo negocios de pobre,<br>mientras en vez de ser propietarios=
 de nuestro<br>propio pa=C3=ADs nos convirtamos en un ej=C3=A9rcito de<br>e=
mpleados del exterior=E2=80=9D<br>Jos=C3=A9 Figueres Ferrer, 1952.<br>
</blockquote></div><br><br clear=3D"all"><br>-- <br>Jose Pablo Carballo<br>
</div></div></div>

--000e0cd4d252ff38e00466a175d9--

-- 
Desuscripción: escriba a [email protected], tema 'unsubscribe'
Problemas a: [email protected].  http://gulcr.org/ListasDeCorreo