Please help with UNIX while loop...


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Please help with UNIX while loop...
# 1  
Old 02-01-2005
Please help with UNIX while loop...

Hi all. I am trying to execute a while loop that reads a log file containing a file listing, and it compares file sizes, etc.

But I am getting an error that makes it seem like it is not reading the log file line by line. When I do a 'more' on the log file, it doesn't appear to be wrapped...

Here is the code, followed by the error output:

set good_transfer=true
while read remote_size remote_name; do
local_size=`ls -l $remote_name | tr -s ' ' ' ' | cut -f5 -d ' '`
if [$local_size <> $remote_size];
then
echo "*FATAL* $remote_name did not transfer properly">>ftp_error.log
set good_transfer=false
fi
done < `cat ftp_ls.log | tr -s ' ' ' ' | cut -f5,9 -d ' '`
"ftp1.sh" 80 lines, 2022 characters
/u/home>ftp1.sh

A file or path name is too long.
ftp1.sh[62]: ^J^J^Jfor^J^J14662 FFBA992072C1C176C1C4._IE^J1759 FFBA9E1FD7D24DBEC1C4._IE^J1207 FFBA9F3609DF7EC1C1C4._IE^J573 FFBAA1D9C583954BC1C4._IE^J2062 FFBAA56A74779104C1C4._IE^J2098 FFBAA96F6CF5AE87C1C4._IE^J6442 FFBAAA63B5F38089C1C4._IE^J1043 FFBAC24DF99141C6C1C4._IE^J2710 FFBACC7A0A095FA2C1C4._IE^J259 FFBACDE9857A2258C1C4._IE^J465 FFBAD2B13209A1B0C1C4._IE^J1966 FFBB029D0DCC4D60C1C4._IE^J1870 FFBB3EF0BCBC75E1C1C4._IE^J1272 FFBB79F1E9C4D257C1C4._IE^J1551 FFBB8537DCFDCE1BC1C4._IE^J265 FFBB853B27B34D7AC1C4._IE^J14603 FFBB859123E69D94C1C4._IE^J685 FFBBB7632A8F38C5C1C4._IE^J696 FFBBB7632B12532AC1C4._IE^J685 FFBBB7632BC81E0FC1C4._IE^J541 FFBBB78CDD015934C1C4._IE^J638 FFBBB78CDD80A3B2C1C4._IE^J427 FFBC473C92CDEE55C1C4._IE^J427 FFBC473DA6DEE64AC1C4._IE^J5509 FFBC4857EDDCA1E2C1C4._IE^J5505 FFBC4873B0B2C0E3C1C4._IE^J5505 FFBC4BCA167B7EB1C1C4._IE^J5505 FFBC4BD0ABD0B1C2C1C4._IE^J5505 FFBC4BF457DCEE7FC1C4._IE^J1249 : 0403-016 Cannot find or open the file.







help!
# 2  
Old 02-01-2005
Looks backwards to me. As far as I know, you can not redirect from a command like this.

You can either do this:
Code:
cat ftp_ls.log | tr -s ' ' ' ' | cut -f5,9 -d ' ' | while read remote_size remote_name
do
     ...
done

or simply this:

Code:
while read remote_size remote_name
do
    ...
done < ftp_ls.log

The file must be spefied by itself in the latter example.

Thomas
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Running in a loop in UNIX

I have a table in oracle which has 2 columns table_name table_name1 U1 T1 U2 T2 I have to take these as a variable in unix and then go to /home/bin and execute a unix command using these variables. Considering that there is only one row in the table I was able to write the below but need help... (2 Replies)
Discussion started by: Ashcalin
2 Replies

2. UNIX for Dummies Questions & Answers

UNIX loop question

Dear all, I have a question regarding unix loops. I want to run 100 commands using file1.txt-file100.txt in parallel. I use the code below and it works well. But now I want to run first 20 commands first using file1.txt-file20.txt in parallel, then when they are completed, run the next 20... (4 Replies)
Discussion started by: forevertl
4 Replies

3. Shell Programming and Scripting

UNIX for loop

Guys, Please help me on the below.. sample.prm /u/test/: mail=123@gmail.com purgedays=30 zipdays=7 purgefile=log.gz zipfile=log /u/test/: mail=123@gmail.com purgedays=30 purgefile=txt.gz zipfile=txt zipdays=7 (2 Replies)
Discussion started by: AraR87
2 Replies

4. Shell Programming and Scripting

Unix For loop help

Hi, I need to reset root password on multiple servers, need to do it from my Jump server, so I'm plannin to use for loop. Can someone pleaz suggest me how to do this...? For example, I check the uptime of a server from my jump box, =========================================== for i in... (1 Reply)
Discussion started by: suren1829
1 Replies

5. UNIX for Dummies Questions & Answers

Help with unix for loop

Hi, I have a command that I want to translate to Unix. I mostly work with Windows and because of that I am stuck on a part. What I cannot find on the internet is skipping the first lines in a for loop and using a certain word/token. (I know how to do a normal loop with output) I need to skip... (1 Reply)
Discussion started by: flappy
1 Replies

6. Shell Programming and Scripting

Nested loop in Unix

Hi, I have the following script which is two while loops, but it is working only for the Inner loop without going back to the outer loop. the aim of this script is to remove data files from memory after each five times for each setting of the rotate parameter #!/bin/csh set hdir =... (1 Reply)
Discussion started by: moon218
1 Replies

7. Shell Programming and Scripting

Unix loop

i have 2 files with entries like, file 1: 11 22 33 .. and so on file 2: jhon mercy rocky and so on.. i want print the content of those files as 11@jhon 22@mercy 33@rocky and so on ..... (5 Replies)
Discussion started by: Gopal_Engg
5 Replies

8. Shell Programming and Scripting

for loop in Unix

This is the content of a file work.log 1 TGBUS I-US 0;15;83 i did this for i in `cat work.log` do echo $i done I wanted the out put to be 1 TGBUS I-US 0;15;83 But the output appears as 1 TGBUS I-US 0;15;83 For Loop treats space as a delimiter. Can i overrride this space as... (10 Replies)
Discussion started by: kinny
10 Replies

9. Shell Programming and Scripting

for loop in unix

hi, can any one suggest why the program 2 is not working. only difference is for ab in *.txt for ab in a_DATA.txt b_DATA.txt c_DATA.txt ------------------------------------ Program :1 (working fine) #!/bin/ksh for ab in a_DATA.txt b_DATA.txt c_DATA.txt suf="_" echo "old->... (1 Reply)
Discussion started by: deep_kol
1 Replies

10. Shell Programming and Scripting

timing a loop in unix.

hi guys.. i have a shell script that loops through a certain directory to see if a file has been created and then prints the file if it exists... the only problem i have now is that sometimes the flat does not get created by the program thats supposed to create it, in this scenario, my loop... (1 Reply)
Discussion started by: wolkott
1 Replies
Login or Register to Ask a Question