shell - extract rar files to same folder name -


i have many .rar folders within particular directory. want extract contents of each rar folder in same directory , extracted files of rar folder should placed in new folder same name of rar folder name.

for example, if there 2 rar files: one.rar , two.rar, script should create 2 folders of same name: one , two. folder named one should contain files extracted one.rar , folder named two should contain files extracted two.rar.

the command: unrar e $filename extracts contents of rar file not create destination folder.

if use unrar e $filename $destination_path, since there can many rar files, manually creating folder name in destination path take lot of time. how can achieve shell script?

so far have written these lines:

loc="/home/desktop/code"`  # directory path contains rar files extracted  <br/>  file in "$loc"/*                 unrar e $file done 

i don't know how create same folder name of rar name , extract files of rar in newly created folder of same name.

any appreciated. in advance !!

you can use sed remove file extension archives. @ following script sets destination corresponding name.

#!/bin/sh  archive in "$(find $loc -name '*.rar')";   destination="$( echo $archive | sed -e 's/.rar//')"   if [ ! -d "$destination" ] ; mkdir "$destination"; fi   unrar e "$archive" "$destination" done 

if you're using bash, can use

#!/bin/bash  archive in "$(find $loc -name '*.rar')";   destination="${archive%.rar}"   if [ ! -d "$destination" ] ; mkdir "$destination"; fi   unrar e "$archive" "$destination" done 

Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -