[Rar] Admettons que vous ayiez 1200 archives a décompresser...

Admettons que vous ayiez 1200 archives a décompresser... [Rar] - Linux et OS Alternatifs

Marsh Posté le 13-05-2002 à 17:44:53    

Et que vous vouliez le faire chacune dans son répertoire.
 
par exemple l'archive "test.rar" dans le répertoire test, l'archive "neuneu.rar" dans le répertoire neuneu...
 
Vous tapez quoi sans avoir a tout faire a la main ?
 
merci :)
 
PS : rien vu de ce style dans les options de rar malheureusement :(


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 13-05-2002 à 17:44:53   

Reply

Marsh Posté le 13-05-2002 à 17:48:03    

Avec tcsh :
foreach i ( *.rar )
set j=`basename "$i" .rar`
mkdir "$j"
cd "$j" && unrar ../"$i"
end
 
En bash, les deux premières lignes doivent changer...


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 13-05-2002 à 17:56:25    

for i in *.rar; do j=${i%*.rar} &&  mkdir $j && unrar $i $j; done
 
edit: c bien sûr du bash ! :D

 

[jfdsdjhfuetppo]--Message édité par minusplus le 13-05-2002 à 17:59:06--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 13-05-2002 à 17:57:50    

Je teste mais je dois pas avoir tcsh :(
 
bash oui, et csh aussi...
 
je mate de suite :)


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 13-05-2002 à 18:10:00    

dommage y a un blem dans le unrar etc... je le modifie de suite :)


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 13-05-2002 à 18:11:59    

ct ca :  
 
for i in *.rar; do j=${i%*.rar} &&  mkdir $j && unrar x $i $j; done  
 
^^
 
merci minusplus :)
 
Par contre, tu peux m'expliquer rapidos le j=${i%*.rar} niveau traitement de la chaine ? Connais pas cette notation en fait ;)


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 13-05-2002 à 18:14:48    

man bash ! :D
 
ça coupe dans la variable $i ce qui correspond au pattern *.rar
 

Citation :


       ${parameter%%word}
              The word is expanded to produce a pattern  just  as
              in  pathname  expansion.   If the pattern matches a
              trailing portion of the expanded value  of  parame�
              ter,  then  the  result  of  the  expansion  is the
              expanded  value  of  parameter  with  the  shortest
              matching  pattern  (the  ``%'' case) or the longest
              matching pattern (the  ``%%''  case)  deleted.   If
              parameter  is @ or *, the pattern removal operation
              is applied to each positional  parameter  in  turn,
              and the expansion is the resultant list.  If param�
              eter is an array variable subscripted with @ or  *,
              the  pattern  removal  operation is applied to each
              member of the array in turn, and the  expansion  is
              the resultant list.
 

Reply

Marsh Posté le 13-05-2002 à 18:15:47    

spa trés clair mon truc...  
 
ça cherche dans $i la chaine .rar en partant de la fin et ça la coupe !

Reply

Marsh Posté le 13-05-2002 à 18:32:33    

J'ai regardé dans le man bash tu penses le vieux réflexe, et j'avais rien capté :/
 
Ok, merci bcp mon grand, tu viens de me rendre un fier service :love:


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed