Visit Our UNIX and Linux User Community


uncompress a file and ftp


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting uncompress a file and ftp
# 1  
Old 07-27-2009
uncompress a file and ftp

Hi Experts,

Here is my piece of code--

Code:
#!/usr/bin/perl
use Net::FTP;
#use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
use IO::File ;
    
print "Retrieving file from abc.com...\n";
$loginip='123.456.0.23';
$loginid='nt1234';
$loginpaswd='defgsljf';
($sec,$min,$hour,$mday,$mon,$year)=(localtime(time))[0,1,2,3,4,5];
$time_stamp= "_" . (1900+$year) . "_" . ($mon+1) . "_" . ($mday) . "_" . $hour . "_" . $min . "_". $sec;
printf "time stamp = $time_stamp\n";


unless(-d "temp")
{
mkdir("temp");
}
if( -d "temp")
{
chdir("temp");
}

$ftp = Net::FTP->new(($loginip), Debug => 0)
or die "Cannot connect to abc.com: $@ \n";

$ftp->login($loginid,$loginpaswd)
or die "Cannot login ", $ftp->message;

$source_dir="/abc/nali05/";

$ftp->cwd($source_dir)
or die "Cannot change working directory ", $ftp->message;


$ftp->binary || die "Unable to set mode to binary. ", $ftp->message;

@list=$ftp->ls();
printf "list = \n";
print @list;
foreach $file (@list)
{
#unzip "$file" => "$source_dir"' or die "unzip failed: $UnzipError\n";

#if($file =~ m/namish*/i)
#{
$ftp->get($file) or die "get failed ", $ftp->message;
#rename($file,"${file}_${time_stamp}");
$ftp->delete ($file) or die "rm -rf failed ", $ftp->message;
#}
}


$ftp->quit;

When i use my code without uncompress part it works fine. But i want to uncompress it first and choose files and ftp only those files.
When i run the script i get this error--

Code:
C:\Perl Script>perl ftp1.pl
Can't locate IO/Uncompress/Unzip.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/
site/lib .) at ftp1.pl line 3.
BEGIN failed--compilation aborted at ftp1.pl line 3.

I searched for the uncompress aprt and tried that but that seem to be working. Kindly give some suggestions as how to get rid of this....

Thanks
NT

Last edited by namishtiwari; 07-28-2009 at 04:52 AM.. Reason: commented the uncompress part
# 2  
Old 07-27-2009
You've got 2 logical errors
  • You're trying to use unzip without the module being installed, hence the error message. If you're using ActiveState's Perl, IO::Uncompress::Unzip should be available through PPM
  • It looks like you're trying to uncompress the Zip on the remote server, but FTP doesn't support this. You'll have to download the file.

HTH
# 3  
Old 07-27-2009
Quote:
Originally Posted by pludi
You've got 2 logical errors
  • You're trying to use unzip without the module being installed, hence the error message. If you're using ActiveState's Perl, IO::Uncompress::Unzip should be available through PPM
  • It looks like you're trying to uncompress the Zip on the remote server, but FTP doesn't support this. You'll have to download the file.

HTH
Hi Pludi,

Thanks for the suggestions. But i could not understand this line
Code:
You're trying to use unzip without the module being installed, hence the error message. If you're using ActiveState's Perl, IO::Uncompress::Unzip should be available through PPM

How i can use this to get rid of the problem or if i do not want to install anything then what i can use to get it working.
The later one i will modify.

Thanks
NT
# 4  
Old 07-27-2009
Code:
use IO::Uncompress::Unzip

should be available.
as clear from the error, it is searching for a perl module "Unzip.pm".
but couldn't find.
# 5  
Old 07-28-2009
I can see in my perl modules that these files are there, but still when i ran the script i got these erros--

Code:
Can't locate auto/Compress/Raw/Zlib/autosplit.ix in @INC (@INC contains: C:/Perl
/lib C:/Perl/site/lib .) at C:/Perl/lib/AutoLoader.pm line 160.
 at C:/Perl/lib/Compress/Raw/Zlib.pm line 6
Can't locate loadable object for module Compress::Raw::Zlib in @INC (@INC contai
ns: C:/Perl/lib C:/Perl/site/lib .) at C:/Perl/lib/IO/Uncompress/RawInflate.pm l
ine 8
Compilation failed in require at C:/Perl/lib/IO/Uncompress/RawInflate.pm line 8.

BEGIN failed--compilation aborted at C:/Perl/lib/IO/Uncompress/RawInflate.pm lin
e 8.
Compilation failed in require at C:/Perl/lib/IO/Uncompress/Unzip.pm line 11.
BEGIN failed--compilation aborted at C:/Perl/lib/IO/Uncompress/Unzip.pm line 11.

Compilation failed in require at ftp1.pl line 3.
BEGIN failed--compilation aborted at ftp1.pl line 3.

i have the required files in perl/lib i cross checked but still the error persistes. I want to get rid of these errors.

Thanks
NT

---------- Post updated at 10:51 AM ---------- Previous update was at 10:23 AM ----------

Hi,
I want to clear what exactly i am doing here..

I wrote the above perl script to get the files in a specifed directory called temp. The files which i get all are zipped ones. I want to unzip all the files and choose some which of my interest and delete rest of the files. I achieved the first part but i am struglling for the second.

The files which i am getting after ftp are like this--

tali05_Jul122009_2358.zip
tali05_Jul122009_4567.zip
tali05_Jul122009_9876.zip

I want to unzip all these files after getting them. When we unzip these files we get files like--

nt123_12Jul09_13_05_23.log
ntrf_12Jul09_14_35_33.log

and many more like this.. I want to keep only the first one and delete the second file.

Kindly help me in achieving this.

Thanks
NT

---------- Post updated 07-28-09 at 03:54 AM ---------- Previous update was 07-27-09 at 10:51 AM ----------

Hi Experts,

Any ideas how i can modify my script to get the desired result as mentioned in the thread..


Thanks
NT
# 6  
Old 07-28-2009
Bumping up posts isn't allowed. Also, this isn't a paid-for support forum with guaranteed response times, so you can't expect people to respond ASAP.

From what I'm seeing above, you're missing the Perl module Compress::Raw::Zlib. The trace is: IO::Uncompress::Unzip requires IO::Uncompress::RawInflate requires Compress::Raw::Zlib. Install that module properly and everything should be fine.
# 7  
Old 07-28-2009
I got it working guys.
Thanks anyway for your help.

Thanks
NT

Previous Thread | Next Thread
Test Your Knowledge in Computers #248
Difficulty: Easy
ARPANET was designed to reliably transmit 911 messages, and to inform the host computer when it loses a message.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

scp and uncompress on the file?

Hi, Is there any way to do scp and uncompress on the fly? At the moment, I am doing scp and then running uncompress of the .Z files in the background. I am wanting to be able to do scp and then have the uncompress the .Z file in the background. Any advice much appreciated. Thanks in... (3 Replies)
Discussion started by: newbie_01
3 Replies

2. Shell Programming and Scripting

Uncompress and ftp a file

i have a compressed file, i need to ftp this file to remote server. while ftp i should uncompress and send, but the uncompressed file shouldn't write in the local server file system. is there any options how to do this using a named pipes in ftp?? greatly appreciate your suggestions? Thanmks (2 Replies)
Discussion started by: Fakru.y
2 Replies

3. HP-UX

[Solved] Unable to rename file in ftp server .Net:FTP perl

Hello All, I am trying to connect to ftp server and get the files. Also i need to rename the file in other ftp dir. rename method is not allowing me to rename the file in other dir. When i tried copy command by using net::FTP:FILE then perl says it is not installed. Can some body help me to... (2 Replies)
Discussion started by: krsnadasa
2 Replies

4. Programming

Uncompress a gzip and bzip file using java on unix solaris environment

Hi, I need to uncompress a gzip and bzip file using java on unix solaris environment. I also need to retreive the header information of the file inorder to differentiate between gzip and bzip file. Please help Pooja (0 Replies)
Discussion started by: wadhwa.pooja
0 Replies

5. Shell Programming and Scripting

Compress in UNIX ftp the uncompress in windows server

Hi all, I need a shell script that will compress all the files in the UNIX box say /output/foldre/OUT/*.out. 1. I need to compress all the .out files present in this path. 2. The compressed files shuld be FTPed to Windows server say C:\Myfiles 3. Then the FTPed files should be... (3 Replies)
Discussion started by: Codesearcher
3 Replies

6. UNIX for Advanced & Expert Users

Using FTP to check whether file is completely FTP... plz find the description below

Hi, We have some clients who will place huge files in to one of the remote server. And the shell script written in our local server to retrieve client files (using FTP) placed on one of the remote server of ours by clients. My question Is there any FTP command/script to check from my local... (1 Reply)
Discussion started by: nmsrao
1 Replies

7. UNIX Desktop Questions & Answers

file zip,rar,tar,compress,uncompress,unzip,unrar

i want know how to compress and uncompress file using unix, compress uncompress,zip,unzip,rar,unrar,how its work and more about this.:confused: (1 Reply)
Discussion started by: ismael xavier
1 Replies

8. UNIX for Dummies Questions & Answers

How to get to a file and uncompress it

I did an ftp to copy a tar file from a main server area to the backup server area. I need to get that tar file to uncompress it in backup server. How do I go about it. Please any suggesstion will be greatly appreciated (1 Reply)
Discussion started by: nkem22
1 Replies

9. Shell Programming and Scripting

ftp/Uncompress error.

I am getting a 'corupt index' error when I uncompress a file that has been ftped to HP-UX server from a Solaris box. I am actually ftp about 5 files and am able to Uncompress 4 of the files however I get a 'Corrupt Index' error when one of the fifth file is being Uncompressed. Any help :confused: (2 Replies)
Discussion started by: oracle8
2 Replies

10. UNIX for Dummies Questions & Answers

How to uncompress .zip file?

Hi all, Can anyone tell me what tools / command can use to uncompress those *.zip file in HP-UX, thx. Bgds, Gordon (7 Replies)
Discussion started by: fonggo
7 Replies

Featured Tech Videos