Re: zip mystery
-Original Message- From: ToddAndMargo [mailto:toddandma...@zoho.com] Sent: Monday, July 17, 2017 8:29 PM To: perl6-users <perl6-users@perl.org> Subject: Re: zip mystery -Original Message- From: ToddAndMargo [mailto:toddandma...@zoho.com] Sent: Monday, July 17, 2017 8:19 PM To: perl6-users <perl6-users@perl.org> Subject: zip mystery Hi All, This runs: my $proc = run('zip', '-j', "$ZipLog", "$CimLog", "$LogFile", "$DiagDir/BlankFile.txt", :out); And this also works (bash) zip -j eraseme.zip /opt/xxx/yyy/zzz/diags/* But this does not: my $proc = run('zip', '-j', "$ZipLog", "$CimLog", "$LogFile", "$DiagDir/*", :out); warning: name not matched: /opt/xxx/yyy/zzz/diags/* What am I doing wrong? Many thanks, -T On 07/17/2017 05:22 PM, Mark Devine wrote: T, What happens when you do this? my $proc = run('zip', '-j', $ZipLog, $CimLog, $LogFile, $DiagDir ~ '/*', :out); Mark with $DiagDir ~ '/*' warning: name not matched: /opt/Cimcor/CimTrak/CimTrakServer/diags/* On 07/17/2017 05:33 PM, Mark Devine wrote: > T, > > It appears to be a 'zip' error, not a Perl 6 issue. Perhaps use 'zip -r' (explicit recursion) instead of '/*' (implicit "glob"). > > Mark > > Hi Mark, -jr did the trick! I had avoided trying it as I thought it would throw an error as two of the requested entities were files and not directories. But the zip folks had already thought of that and it worked perfectly. Thank you! -T -- ~~ Computers are like air conditioners. They malfunction when you open windows ~~
Re: zip mystery
On Mon, Jul 17, 2017 at 8:18 PM, ToddAndMargo> wrote: But this does not: my $proc = run('zip', '-j', "$ZipLog", "$CimLog", "$LogFile", "$DiagDir/*", :out); warning: name not matched: /opt/xxx/yyy/zzz/diags/* What am I doing wrong? On 07/17/2017 05:45 PM, Brandon Allbery wrote: run() does not use a shell. The shell is what understands that * and expands it to a list of matching files. If you want that expansion, use shell() or use Perl 6 to get the directory contents separately and send it along as a list (see https://docs.perl6.org/type/IO::Path#routine_dir). Now I understand. Thank you!
Re: zip mystery
On Mon, Jul 17, 2017 at 8:18 PM, ToddAndMargowrote: > But this does not: > > my $proc = run('zip', '-j', "$ZipLog", "$CimLog", "$LogFile", > "$DiagDir/*", :out); > > warning: name not matched: /opt/xxx/yyy/zzz/diags/* > > What am I doing wrong? > run() does not use a shell. The shell is what understands that * and expands it to a list of matching files. If you want that expansion, use shell() or use Perl 6 to get the directory contents separately and send it along as a list (see https://docs.perl6.org/type/IO::Path#routine_dir). -- brandon s allbery kf8nh sine nomine associates allber...@gmail.com ballb...@sinenomine.net unix, openafs, kerberos, infrastructure, xmonadhttp://sinenomine.net
Re: zip mystery
-Original Message- From: ToddAndMargo [mailto:toddandma...@zoho.com] Sent: Monday, July 17, 2017 8:19 PM To: perl6-users <perl6-users@perl.org> Subject: zip mystery Hi All, This runs: my $proc = run('zip', '-j', "$ZipLog", "$CimLog", "$LogFile", "$DiagDir/BlankFile.txt", :out); And this also works (bash) zip -j eraseme.zip /opt/xxx/yyy/zzz/diags/* But this does not: my $proc = run('zip', '-j', "$ZipLog", "$CimLog", "$LogFile", "$DiagDir/*", :out); warning: name not matched: /opt/xxx/yyy/zzz/diags/* What am I doing wrong? Many thanks, -T On 07/17/2017 05:22 PM, Mark Devine wrote: T, What happens when you do this? my $proc = run('zip', '-j', $ZipLog, $CimLog, $LogFile, $DiagDir ~ '/*', :out); Mark with $DiagDir ~ '/*' warning: name not matched: /opt/Cimcor/CimTrak/CimTrakServer/diags/*
zip mystery
Hi All, This runs: my $proc = run('zip', '-j', "$ZipLog", "$CimLog", "$LogFile", "$DiagDir/BlankFile.txt", :out); And this also works (bash) zip -j eraseme.zip /opt/xxx/yyy/zzz/diags/* But this does not: my $proc = run('zip', '-j', "$ZipLog", "$CimLog", "$LogFile", "$DiagDir/*", :out); warning: name not matched: /opt/xxx/yyy/zzz/diags/* What am I doing wrong? Many thanks, -T