Ken J
Ken J

Reputation: 4562

Move all files in specified folder up one directory

I have a program that extracted files to a series of sub-folders each with a "header" sub-folder. For example:

/share/Videos/Godfather.Part.1
  /share/Videos/Godfather.Part.1/<packagename>
    /share/Videos/Godfather.Part.1/<packagename>/Godfather.avi
/share/Videos/Godfather.Part.2
  /share/Videos/Godfather.Part.2/<packagename>
    /share/Videos/Godfather.Part.2/<packagename>/Godfather2.avi

I'd like to take the files in the specified folder <packagename> and move them up one directory so that the file structure looks like this:

/share/Videos/Godfather.Part.1
  /share/Videos/Godfather.Part.1/Godfather.avi
/share/Videos/Godfather.Part.2
  /share/Videos/Godfather.Part.2/Godfather2.avi

How can I accomplish this task in bash command line? Mind you this is an example using 2 folders, I have 100's like this.

Upvotes: 0

Views: 394

Answers (1)

Will Hartung
Will Hartung

Reputation: 118603

Share and enjoy.

for i in `find . -name "*avi"`
do
    dest=`dirname $i`
    mv $i $dest/..
done

Upvotes: 2

Related Questions