For cycle


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting For cycle
# 1  
Old 06-08-2007
For cycle

Hello,

I have files in a dir.

I what to create a FOR cycle that will do this

FOR <condition> do
file=`ls <directory> | tail -1`
echo $file
mv -f $file <another dir>
done

What I want to now is what should I put in the <condition>. The condition I want is that the FOR will execute until there is no more files in the directory

Thanks
# 2  
Old 06-08-2007
Quote:
Originally Posted by nagomes
Hello,

I have files in a dir.

I what to create a FOR cycle that will do this

FOR <condition> do
file=`ls <directory> | tail -1`
echo $file
mv -f $file <another dir>
done

What I want to now is what should I put in the <condition>. The condition I want is that the FOR will execute until there is no more files in the directory

Thanks
If you want to move all files from one directory to another
Code:
mv -f /dir1/* /dir2

# 3  
Old 06-08-2007
1. Why are you asking almost exactly the same thing again?

2. You would need a 'while' not a 'for'
# 4  
Old 06-08-2007
Code:
for file in <directory>/*
do
   echo $file
   mv -f $file <another dir>
done

The is a problem with this for loop : if the directory is empty body of the loop is executed nevertheless with the variable file set to '<directory>/*'

Another solution with the for loop :
Code:
for file in `ls -1 <directory>/* 2>/dev/null'
do
   echo $file
   mv -f $file <another dir>
done

You can also use a while loop :
Code:
ls -1 <directory>/* 2>/dev/null | \
while read file
   echo $file
   mv -f $file <another dir>
done

Jean-Pierre.
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

For cycle, process order

Hello, I am running a script under ubuntu 16.04 I have no problem with the script. My question is general algorithm of for file command. I just need to know how for file in *.txt process works. Let's say, I wish to run the script by sorting filename: for file in *.txt do "do something in... (2 Replies)
Discussion started by: baris35
2 Replies

2. Shell Programming and Scripting

Cycle for with for-then-else

Hi, i would like to insert a if-then-else function in to cycle for -------------- cat test -------------- # cat test ALFA BETA GAMMA ----------------------- This is my script: #!/bin/bash for i in $(cat test); if ; then echo "ok" else (5 Replies)
Discussion started by: elilmal
5 Replies

3. Shell Programming and Scripting

sed problem in a for cycle

Hi, i have a problem with a sed command runned in a for cycle... I have a file named fileX which contains (i have crippled the line to minimal for easy): load data dbfoo - TOCHANGE - comment load data dbboo - TOCHANGE - comment load data dbzoo - TOCHANGE - comment ... And a file... (8 Replies)
Discussion started by: maxlamax
8 Replies

4. Shell Programming and Scripting

for cycle question

i have a question how to modify below script to generate the expect result below : test.sh #!/bin/bash for ((i=0; i < 25; i++)) do echo $1$i done current result: test.sh 20090101 200901010 200901011 200901012 200901013 200901014 200901015 200901016 200901017 200901018 (2 Replies)
Discussion started by: bleach8578
2 Replies

5. Shell Programming and Scripting

for cycle

Hello, I have a question: is there a way to have a "for" cycle done a certain number of times. For example in c++ I can do this: for (i=o;i<10;i++) and the cycle will be repeated 10 times. in UNIX for example I do this: for i in `cat /etc/host` do done and the cycle will be repeated... (6 Replies)
Discussion started by: jcpetela
6 Replies

6. Shell Programming and Scripting

wildcard in a if cycle

hello everybody, I need help on putting a wildcard match inside an if condition (I'm using korn shell): if ] then echo ' ' echo ''$MYSEL' is not a correct option' echo ' ' else ..... i tried also #if -ne "``" and a lot of combinations of `"' but I didn't find the... (2 Replies)
Discussion started by: elionba82
2 Replies

7. Shell Programming and Scripting

shell cycle

Hello I got a cycle in the script which open another scripts. if then action fi Scripts action will be running 2 times at the same time. Inside of action() is insert into the table. But what I want is that only first script can do insert into table. So how to do... (2 Replies)
Discussion started by: mape
2 Replies
Login or Register to Ask a Question