Move several files into specific directories with a loop


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Move several files into specific directories with a loop
# 1  
Old 02-14-2020
Move several files into specific directories with a loop

Hello,

I'm a first time poster looking for help in scripting a task in my daily routine. I am new in unix but i am attracted to its use as a mac user.

Bear with me...

I have several files (20) that I manually drag via the mouse into several named directories over a network. I've used rsync to copy files from directories but i don't know how to move or copy the 20 jpgs into the corresponding 20 directories which have 01-20 as identifiers.
In other words, each jpg goes into a ]01_filename_100px
02_filename_200px...so on til
20_filename _3000px

I have searched the web for several days without an intelligent answer...

I believe I need an expression or a loop to accomplish this. I tried applescript, automator and rsync but I reached frustration... Smilie

Ideally I would like to use a standard mac process, like terminal.

Can someone point me to a resource? a book? a link?

Thanks

SonnyClark
# 2  
Old 02-14-2020
Do you know how to use the terminal on the mac?

I ask this because in your question, you mention "dragging".....

The task you are describing is a "terminal" level task, not a GUI "draggable" task (generally speaking).
# 3  
Old 02-14-2020
Neo,
Thanks for the quick reply and the answer to your question is yes. I use the terminal for copying files with rsync.

For my posted question, however, I've been using the mouse on my mac to drag the files to the folders.

SonnyClark
# 4  
Old 03-02-2020
I am rewriting my question for clarity. Please, please help me!

I have the following challenge which I am trying to solve via bash with an expression that takes the suffix of the file and the prefix of the folder as a target or another type of loop formula.

I'd like to move files with sequential numbers into existing sequential numbered directories. like:
Code:
filename_01.jpg   into folder name   01_foldername
filename_02.jpg   into folder name   02_foldername
filename_03.jpg   into folder name   03_foldername... so on...

I tried the following without much success

Code:
for f in *files2folders; do
  target_part="${E[0-9][0-9]}"
  target="${E[0-9][0-9]}"
  mv "$f" -t "${target} "*
done

I am a new linux student and would love explore this solution.

Could someone help me with a link or a tutorial to accomplish this?
I am using my shell terminal in a mac os environment.

Moderator's Comments:
Mod Comment Please do wrap your samples in CODE TAGS as per forum rules.

Last edited by RavinderSingh13; 03-03-2020 at 12:00 AM..
# 5  
Old 03-03-2020
How is that "without much success" expressed? Error messages / warnings? Unexpected results? Explain...


A decent, detailed, consistent, complete specification pays off as you might get better replies, and sooner.


Your code sample wouldn't find any of the files in your data sample. Your variable assignments will give error messages.
# 6  
Old 03-03-2020
The error I get from terminal:
-bash: E: bad array subscript
-bash: E: bad array subscript
The files and directories are located on my desktop in a directory called "files2folders"
# 7  
Old 03-03-2020
Quote:
Originally Posted by SonnyClark
... Please, please help me!

...
Please, please - provide us with the info needed! Getting the entire context here is like pulling teeth!


Based on some guesswork on what your request and environment are, I came up with

Code:
for FN in files2folders/*.jpg
  do    TN="${FN%.*}_foldername"
        echo mv "$FN" "${FN%%/*}/${TN#*_}"
  done
mv files2folders/filename_01.jpg files2folders/01_foldername
mv files2folders/filename_02.jpg files2folders/02_foldername
mv files2folders/filename_03.jpg files2folders/03_foldername

remove the echo in case you're happy with what you see. How far would that get you?

Last edited by RudiC; 03-03-2020 at 06:55 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need BASH Script Help to Move Files While Creating Directories

I've got this script to loop through all folders and move files that are more than 2 years old. I'm using the install command because it creates the necessary directories on the destination path and then I remove the source. I'd like to change the script to use the mv command since it is much... (4 Replies)
Discussion started by: consultant
4 Replies

2. UNIX for Dummies Questions & Answers

Move multipe files to corresponding directories

Hi, In a parent directory there are several files in the form IDENTIFIER1x IDENTIFIER1.yyy IDENTIFIER1_Z, etc IDENTIFIER2x IDENTIFIER2.yyy IDENTIFIER2_Z, etc IDENTIFIER3x IDENTIFIER3.yyy, IDENTIFIER3_Z, etcIn the same parent directory there are corresponding directories named... (7 Replies)
Discussion started by: spirospap
7 Replies

3. Shell Programming and Scripting

Recursively move directories along with files/specific files

I would like to transfer all files ending with .log from /tmp and to /tmp/archive (using find ) The directory structure looks like :- /tmp a.log b.log c.log /abcd d.log e.log When I tried the following command , it movies all the log files... (8 Replies)
Discussion started by: frintocf
8 Replies

4. OS X (Apple)

Batch file to move video files and retain sub-directories

I have just purchased my first ever Apple computer - and am therefore new to UNIX also. I would like to create a simple "batch file" (apologies if this is the wrong terminology) to do the following: When I plug my camera into the MAC it automatically downloads photos and videos into a new... (1 Reply)
Discussion started by: mm0mss
1 Replies

5. Shell Programming and Scripting

Loop to move files in different directories

Hi, I have various log files in different paths. e.g. a/b/c/d/e/server.log a/b/c/d/f/server.log a/b/c/d/g/server.log a/b/c/h/e/server.log a/b/c/h/f/server.log a/b/c/h/g/server.log a/b/c/i/e/server.log a/b/c/i/e/server.log a/b/c/i/e/server.log and above these have an archive folder... (6 Replies)
Discussion started by: acc01
6 Replies

6. Shell Programming and Scripting

Help with command to Move files by X number to seperate directories

Hello, I need help finding a script that will allow me to move files from one directory to another directory 10k files at a time. I have a directory that has 100 K files in it. I need to have those 100k files broken apart to separate directories each with 10k files in them. Here is the... (8 Replies)
Discussion started by: Geo_Bean
8 Replies

7. Shell Programming and Scripting

want to move files in a dir into different directories based on the filename

I want to move the files in a dir to different dirs based on their file names. Ex: i have 4 different files with name - CTS_NONE_10476031_MRL_PFT20081215a.txt CTS_NONE_10633009_MRL_PFT20091020a.txt CTS_NONE_10345673_MRL_PFT20081215a.txt CTS_NONE_10872456_MRL_PFT20091020a.txt and the 1st... (4 Replies)
Discussion started by: Sriranga
4 Replies

8. UNIX for Dummies Questions & Answers

want to move files in a dir into different directories based on the filename

I want to move the files in a dir to different dirs based on their file names. Ex: i have 4 different files with name - CTS_NONE_10476031_MRL_PFT20081215a.txt CTS_NONE_10633009_MRL_PFT20091020a.txt CTS_NONE_10345673_MRL_PFT20081215a.txt CTS_NONE_10872456_MRL_PFT20091020a.txt and the 1st... (2 Replies)
Discussion started by: Sriranga
2 Replies

9. Shell Programming and Scripting

grep'ing for specific directories, and using the output to move files

Hello, this is probably another really simple tasks for most of you gurus, however I am trying to make a script which takes an input, greps a specific file for that input, prints back to screen the results (which are directory names) and then be able to use the directory names to move files.... (1 Reply)
Discussion started by: JayC89
1 Replies
Login or Register to Ask a Question