Wijaya Edward wrote:
> Hi all,

Hello,

> I have a snippet that rename files from:
> "sth.txt.out"  into
> "sth.out"
> 
> Now I am really curious how can I make this
> oneliner "even shorter":

mmv '*.txt.out' '#1.out'

> $  perl -e '
> for(glob ("*.txt.out")){

for ( <*.txt.out> ) {

> $out = $_; 
> $out =~ s/\.txt(\.out)/\.out/;

Your pattern is not anchored so 'a.txt.out-bcd.txt.out' will be changed to
'a.out-bcd.txt.out'.

( $out = $_ ) =~ s/\.txt\.out\z/.out/;

Or:

( $out = $_ ) =~ s/\.txt(?=\.out\z)//;

Or:

( $out = $_ ) =~ s/\.txt(\.out)\z/$1/;

>  rename ($_,$out);
> }'


John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to