Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^4: glob a folder of images, and open text doc, find the matches and move the images.

by flieckster (Scribe)
on Feb 10, 2020 at 17:44 UTC ( [id://11112736]=note: print w/replies, xml ) Need Help??


in reply to Re^3: glob a folder of images, and open text doc, find the matches and move the images.
in thread glob a folder of images, and open text doc, find the matches and move the images.

This is the full code image using. i added print for yours to see what it was doing, since it doesn't seem to find a match.
#!/usr/bin/env perl -w use File::Find; use File::Copy; use File::Basename; use File::Basename; use File::Slurp; use POSIX qw(strftime); my $date = strftime("%m-%d-%y",localtime); my $time = strftime("%I:%M:%S",localtime); my $findme = "/Volumes/photorepos/Perl/SLAperlDropback/"; my $file_loc = $findme. '2SLAday'; my $filenames_to_putback = '/Volumes/photorepos/Perl/SLAperlDropback/d +ropback.txt'; chdir($file_loc) or warn "$!"; @filesforeach = glob "*.*"; my $filecount = @filesforeach; print "$filecount\n"; chomp @filesforeach; foreach $file (@filesforeach){ print "$file\n"; open(my $fh, "<", "$filenames_to_putback") or warn "$!\n"; while (my $row = <$fh>) { chomp $row; print "$row\n"; my @line = $file; for (@line) { if ($_ =~ /$row/) { chomp $_; push @output, "found $_ that matched redo $file $row <br>"; move($_,$row) or warn "shit went wrong yo! $!\n"; } } } } print "@output\n";
i added an else statment to your code with a print out.
#!/usr/bin/env perl use warnings; use strict; use File::Copy 'move'; my $findme = '/Volumes/photorepos/Perl/SLAperlDropback/'; chdir($findme.'2SLAday') or die "chdir: $!"; foreach my $file (glob "*.*") { open my $fh, '<', $findme.'dropback.txt' or die "open: $!"; while ( my $row = <$fh> ) { chomp $row; if ( $file =~ /$row/ ) { print "$file\n"; print "$row\n"; move( $file, $row ) or die "move: $!"; } else { print "$file has no match $!\n"; } } }
output had not match
010011510005801_0669_main.psd has no match 010011510005801_0964_main.psd has no match 010011520006618_0964_main.psd has no match 010011520006618_5030_main.psd has no match 010011520006812_0670_main.psd has no match 010011520006812_0990_main.psd has no match 010011520006816_3034_main.psd has no match 010011520007257_0126_main.psd has no match 010011520007259_5031_main.psd has no match 010013000007469_4036_alternate1.psd has no match 010013000007469_4036_main.psd has no match 010013000007471_0990_alternate1.psd has no match 010013000007471_0990_main.psd has no match 080080520009970_0155_main.psd has no match 080081510009702_0001_alternate1.psd has no match
i'm guessing that there is no movement because it won't find a match due to the paths are being interpreted as regex when it comes to the filenames in each row.
  • Comment on Re^4: glob a folder of images, and open text doc, find the matches and move the images.
  • Select or Download Code

Replies are listed 'Best First'.
Re^5: glob a folder of images, and open text doc, find the matches and move the images.
by haukex (Archbishop) on Feb 10, 2020 at 17:48 UTC
    i'm guessing that there is no movement because it won't find a match due to the paths are being interpreted as regex when it comes to the filenames in each row.

    It doesn't look like you took any of my suggestions so far.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11112736]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (2)
As of 2024-04-24 23:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found