Having problems trying to use for...do...done in a while loop.
cat control.file
file1:directory:##.##.##.#:user
assword
file2:directory:##.##.##.#:user
assword
file3:directory:##.##.##>#:user
assword
#!/bin/ksh
#
#Read variables from a control file for FTP input for list of different files in different directories
IFS=:
exec < control.file
while read file l_dir ip id pw
do
cd $directory
ls files* > list_files
#FTP to get list of files already sent
ftp -ni ip <<-EOF
user id pw
dir files* directory/sent_files
quit
EOF
#Compare local list with sent list to derive good_files
comm -23 list_files sent_files > good_files
#FTP each file in good_files list
for f in `cat good_files`
do
ftp -ni ip <<-EOF
user id pw
put $f
quit
EOF
#Move each file in good file list to save directory
mv $f directory/save
done
done
PROBLEM: the for f in `cat ...` reads each file on one string instead of individually.
I need this:
mv good_file1 directory/save
mv good_file2 dierctory/save
Instead it reads all the files at once instead of individually.
CAN ANYONE HELP ME???
Thanks!!
cat control.file
file1:directory:##.##.##.#:user
file2:directory:##.##.##.#:user
file3:directory:##.##.##>#:user
#!/bin/ksh
#
#Read variables from a control file for FTP input for list of different files in different directories
IFS=:
exec < control.file
while read file l_dir ip id pw
do
cd $directory
ls files* > list_files
#FTP to get list of files already sent
ftp -ni ip <<-EOF
user id pw
dir files* directory/sent_files
quit
EOF
#Compare local list with sent list to derive good_files
comm -23 list_files sent_files > good_files
#FTP each file in good_files list
for f in `cat good_files`
do
ftp -ni ip <<-EOF
user id pw
put $f
quit
EOF
#Move each file in good file list to save directory
mv $f directory/save
done
done
PROBLEM: the for f in `cat ...` reads each file on one string instead of individually.
I need this:
mv good_file1 directory/save
mv good_file2 dierctory/save
Instead it reads all the files at once instead of individually.
CAN ANYONE HELP ME???
Thanks!!