• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 929
  • Last Modified:

Bash script to move and rename files based on a file name

I have a bunch of files that I need to move based on a file name and than once moved files need to be renamed:
Example:
group of files
[...]
005512345.txt
0055742394.txt
[...]
to be moved based on its 4th and 5th character (55) to a folder 55 and then renamed to file 12345..742394.txt (remove first four characters). All files are numeric names and all folders are in the same directory level, and folders are already created.

Please help ASAP.
Thank you.
0
keserm
Asked:
keserm
1 Solution
 
omarfaridCommented:
try

cd /dir
ls | while read file
do
   dir=`echo $file | cut -c3,4`
   nfile=`echo $file | cut -c5-`
   mv $file /path/to/$dir/$nfile
done
0
 
kesermAuthor Commented:
omarfarid,
yes, works perfect.

thank you
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now