rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[shell] Tri de fichiers avec extensions

Posté par fozzy, le vendredi 20 octobre 2006 à 11:20:56
Bonjour à tous !

J'ai besoin d'écrire un script shell permettant de trier des fichiers suivant leur extension et de les déplacer dans un dossier créé par mes soins.
Le dossier rep_text est censé contenir à la fin de l'éxécution du bash tous les fichiers .txt du répertoire d'où a été lancé le script.

Je vous met mon travail car le script me déplace tout le dossier script (d'où est lancé le script) au lieu des fichiers en eux-même.

Si quelqu'un aurait l'obligence de m'expliquer pourquoi mon script ne fait pas ce que je demande, merci d'avance.

Le script est exécuté à partir du dossier : /home/bandit/Script/

Script :

#!/bin/sh
if [ ! -d /home/bandit/test_script ]
then
mkdir /home/bandit/test_script
mkdir /home/bandit/test_script/rep_text
mkdir /home/bandit/test_script/rep_mp3
mkdir /home/bandit/test_script/rep_tmp
fi

txt= find *.txt
mp3= find *.mp3
tmp= find *.tmp

val="/home/bandit/Script/"

echo "$txt"
echo "$mp3"
echo "$tmp"
cd ..

mv "/home/bandit/Script/$txt" /home/bandit/test_script/rep_text/
#mv $val$mp3 $val
#mv /home/bandit/Script/$tmp /home/bandit/test_script/rep_tmp
Répondre à fozzy  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
teebo, le vendredi 20 octobre 2006 à 11:26:25
Salut,
Question sans doute très con :)

Pourquoi tu ne fais pas :

mv /home/bandit/Script/*.txt /home/bandit/test_script/rep_text/


?

J'avais prévenu :)
Goutez l'amer ... Buvez le vinaigre
Répondre à teebo

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le vendredi 20 octobre 2006 à 11:43:59
Salut,

teebo => C'est pas con, c'est la logique même ;-))

fozzy => Tes variables, déjà faut les encadrer avec des guillemets puisqu'elles contiennent des espaces (txt="find *.txt"), ensuite puisqu'elles contiennent une commande, il vaut mieux les écrire comme suit :
txt="$(find *.txt)"
;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.
Répondre à jipicy

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fozzy, le vendredi 20 octobre 2006 à 11:46:36
Bah tout simplement parce que je n'y ai pas pensé oh la honte MDR !

Maintenant tout fonctionne évidemment 8-)

Bon je sors MDR

Merci Thibault ta question m'a ouvert les yeux 8-)

#!/bin/sh
if [ ! -d /home/bandit/test_script ]
then
mkdir /home/bandit/test_script
mkdir /home/bandit/test_script/rep_text
mkdir /home/bandit/test_script/rep_mp3
mkdir /home/bandit/test_script/rep_tmp
fi

mv /home/bandit/Script/*.txt /home/bandit/test_script/rep_text/
mv /home/bandit/Script/*.mp3 //home/bandit/test_script/rep_mp3
mv /home/bandit/Script/*.tmp /home/bandit/test_script/rep_tmp
Répondre à fozzy

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Flow, le dimanche 5 août 2007 à 09:15:50
Salut!
Ton shell script ma bien aidé, j'avais essayer de faire au moins aussi compliquer que toi ^^
Maintenant j'ai une question, par exemple j'ai motion (capture webcam) qui crée des photos avec la date dedans mais il n'y a pas que la date et j'aimerais savoir si il est possible de par exemple lire qu'a partir du deuxieme caractere pour x caracteres je pense que c'est possible mais je n'ai aucune idée!et donc en fait je ferais le tri des dossiers par date merci!
Répondre à Flow

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le dimanche 5 août 2007 à 09:37:20
Salut,

Regarde du côté de la commande sort (man sort) et de la syntaxe du genre :
sort -t FS +CHAMP -k POS
ou FS est le caractère séparateur de champs, CHAMP (un numéro) le champ à prendre en compte pour le tri et POS (un numéro aussi) le nième caractère à prendre à compte...

;-)) Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.
Répondre à jipicy

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Flow, le dimanche 5 août 2007 à 10:01:55
euh c'est un peu confus pour moi l'histoire du champ??
en fait les fichiers sortis sont de se style:
09-20070804114231.avi ou .jpg
donc en fait ce qui m'interesse ici c'est la date 20070804 j'aimerais l'isoler dans une variable pour faire la recherche par jour et dans le dossier de nom 04/08/2007 refaire la meme chose pour les photos pour chaques heures merci :)
Répondre à Flow

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le dimanche 5 août 2007 à 10:11:18
Salut,

voici quelques commandes qui peut être pourront t'aider
lami20j@deb:~/trash$ ls -1 *.avi
09-20070804114231.avi
09-20070805114231.avi
09-20070806114231.avi
09-20070807114231.avi
09-20070812114231.avi
09-20070816114231.avi
lami20j@deb:~/trash$ ls -1 *.avi | sort --key=4,8
09-20070804114231.avi
09-20070805114231.avi
09-20070806114231.avi
09-20070807114231.avi
09-20070812114231.avi
09-20070816114231.avi
lami20j@deb:~/trash$ ls -1 *.avi | grep -Eo '[0-9]{8}'
20070804
20070805
20070806
20070807
20070812
20070816
lami20j
Répondre à lami20j

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Flow, le dimanche 5 août 2007 à 10:33:24
Merci beaucoup l'ami c'est justement ce que je voulais :)
Bonne journée ;)
Répondre à Flow
Logiciels pertinents trouvés dans les téléchargements
Télécharger SSH Secure Shell 3.0 build 203SSH Secure Shell - SSH secure shell for workstations est un client SSH flexible permettant de se connecter de façon sécurisée à des...Catégorie: Telnet/SSH
Licence: Open Source
Télécharger Trillian 3.1.10.0Trillian - Trillian est un des clients de messagerie instantanée les plus aboutis. Il est compatible avec AIM®, MSN®, ICQ®, Yahoo!®, et...Catégorie: Messagerie instantanée
Licence: Open Source
Télécharger Toutes les extensions (petits modules complémentaires) de Firefox ?Toutes les extensions (petits modules complémentaires) de Firefox - Au lieu d'énumérer toutes les extensions (petits modules complémentaires) de Fire fox , allez dans le menu outils de...Catégorie: Extensions Firefox
Licence: Freeware/gratuit
Télécharger Tugzip 3.5.0.0Tugzip - TUGZip est un puissant utilitaire d'archivage pour Windows® supportant un grand nombre de formats de compression, d'images...Catégorie: Compression/Décompression
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [shell] Tri de fichiers avec extensions »