Shell script to move files to 3 different folders


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell script to move files to 3 different folders
# 8  
Old 07-14-2009
while [ "$COUNTER" != "0" ]


it never reaches 0, so it has nothing left to do but a continuous loop of nothing, you need to break at somepoint

It should be in a for loop instead of while.

change

COUNTER=`ls -1 | wc -l`
while [ "$COUNTER" != "0" ]
to

COUNTER=`ls -1 | wc -l`
for (( $i=0; $i < "$COUNTER" ; i++ )); do
# 9  
Old 07-14-2009
You're right, thanx.
However, this for loop is still missing the fact that variable COUNTER needs to decrease by 3 in every loop, or maybe add 3 to $i, What do you think?
# 10  
Old 07-14-2009
try

for (( i=$COUNTER; $i > 0; )); do
echo $i
let i-=1
done

I hope this helps
# 11  
Old 07-15-2009
I solved it!! Thanx for all sighK. This is the code for my script. It is used to move files (in my particular case were tiff images) from a folder to 3 different folders distributing the files among them. For example, if source folder has 100 files, the 3 target folders have to end up with 34, 33 and 33 files respectively. Hope this could be helpful to someone.

Code:
#!/bin/bash

COUNTER=`ls -1 *.TIF | wc -l`

while [ $COUNTER -gt 0 ]
do
        ARRAY=( $(ls *.TIF | head -n 3) )
        mv ${ARRAY[0]} folder1/
        mv ${ARRAY[1]} folder2/
        mv ${ARRAY[2]} folder3/
        COUNTER=`expr $COUNTER - 3`

done

You can change file extension or just delete it, folder paths and of course, the number of folders, just remember to change 'head -n' where n is the number of files to list first that will end up inside each folder. You also have to change the number in `expr $COUNTER - 3` to match the number of folders.
# 12  
Old 07-15-2009
The following is a bit shorter and allows an arbitrary number of folders
Code:
#!/bin/bash
i=1
for f in *.TIF; do
	mv "$f" "folder$i/"
	((i=i%3+1))
done

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Move only folders and skipping files

How do I move all folders and its contents from a directory A to another directory B, skipping all files in Directory A ? ---------- Post updated at 12:53 PM ---------- Previous update was at 12:42 PM ---------- Ok. Got it. mv /A/*/ /B/ (1 Reply)
Discussion started by: DHeisenberg
1 Replies

2. Shell Programming and Scripting

Script to move files in multiple folders

Hello all, I would appreciate any help to write a script. I have folder A which contains over 30 thousands xml files, I would like create multiple folders and move those files (500 in each folders). Thank you (1 Reply)
Discussion started by: mmsiddig
1 Replies

3. Solaris

Move files into different folders based on its month

Hi All, I want to move the files in to different folders based on the files month in the file timestamp. For example All the september files in the directory should moves into the folder "sep_bkp_files" , August files in to aug_bkp_files folder... Please help me to achive the above... (10 Replies)
Discussion started by: velava
10 Replies

4. Shell Programming and Scripting

Move all files but not folders to a new folder

Hi, I have a sub directory with a number of files and folders. What i want is a subdirectory with just folders and not files for cleanliness sake. So I want to move the files into the new folder but keep the folders in the same place. Move all files (but not folders) to new folder. I am... (4 Replies)
Discussion started by: Hopper_no1
4 Replies

5. Shell Programming and Scripting

Help with auto-detect new files/folders then zip and move script

Hello, I need a simple script to Auto-detect new files and folders in the directory. And then I need to zip the new files and bzip2 new folders and move them out of that folder where I am detecting changes to the other folder. Remember, I need simple one. If anyone could do it fast, I may... (1 Reply)
Discussion started by: juzt1s
1 Replies

6. Shell Programming and Scripting

Shell script to arrange files into several folders

Hello this is the script Im working on I have a picture collection that I rescued from a hard drive and there are thousands of pictures saved in one folder. What I need is to create several folders and put lets say around 200 pictures in each folder. At the end instead of having one huge... (8 Replies)
Discussion started by: kizofilax
8 Replies

7. Shell Programming and Scripting

Move files to Folders

Hi Friends, Below is my requirement and i am not clear how to approach this issue in unix programming. I have a folder with 2500 files. The files are in below format. 1234_name1.txt 1234_name123.txt 4567_name1.txt 4567_name123.txt and i need a program which will read each file from this... (5 Replies)
Discussion started by: diva_thilak
5 Replies

8. UNIX for Dummies Questions & Answers

Move folders containing certain files

Hello, How can I move just the folders that contains files modified n days ago? Source tree: |-- SourceFolder | |-- Subfolder1 | | |-- file1.dat | | `-- file2.dat | |-- Subfolder2 | | |-- filea.dat | | `-- fileb.dat Destination tree: |-- ... (3 Replies)
Discussion started by: xavix
3 Replies

9. UNIX for Dummies Questions & Answers

how to move files into different folders based on filename

I need to move a bunch of files into folders that have the same name. I wanted to either do this with some filter command or some type of batch file that I could save that would already include all of the mv commands since I will have to do this process often. Whatever method you think is easier. ... (7 Replies)
Discussion started by: italia5
7 Replies
Login or Register to Ask a Question