Pages : 1
#1 Le 24/03/2013, à 23:14
- A.
[Résolu] Copie de fichiers
Bonjour,
J'ai une série de dossiers et sous-dossiers dans lesquels se trouvent des fichiers sans extension.
Parmi ceux-ci, j'aimerais copier (dans un dossier unique) ceux dont le type est JPEG.
Pour ça, j'ai trouvé les commandes :
- Trouver les fichiers sans extension (je ne sais pas s'il y a plus simple) :
find . -type f -regex '.+/[^\.]+'^C
- Afficher le type :
file nom_du_fichier
Mais je n'ai rien trouvé pour copier seulement ceux dont le type est JPEG.
J'ai testé un "if (( file nom_du_fichier == "JPEG" )) then ..." et des variantes mais ça n'a rien donné.
Merci.
Dernière modification par A. (Le 28/03/2013, à 21:09)
Hors ligne
#2 Le 25/03/2013, à 00:10
- Sciensous
Re : [Résolu] Copie de fichiers
rapidement:
un test:
dest=LECHEMINQUILFAUT; for i in *.; do if echo `file "$i"` | grep "JPEG image" ; then echo "mv $i $dest"; fi; done
si ça te va:
dest=LECHEMINQUILFAUT; for i in *.; do if echo `file "$i"` | grep "JPEG image" ; then mv "$i" "$dest"; fi; done
Dernière modification par Sciensous (Le 25/03/2013, à 00:19)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#3 Le 25/03/2013, à 01:06
- nesthib
Re : [Résolu] Copie de fichiers
@Sciensous :
pourquoi faire :
echo `file "$i"` | grep "JPEG image"
au lieu de :
file "$i" | grep …
@A. :
while read file
do
if file "${file}" | grep -q "JPEG image"
then
mv "${file}" $DESTINATION
fi
done < <(find . -type f -regex '.+/[^\.]+')
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#4 Le 28/03/2013, à 21:09
- A.
Re : [Résolu] Copie de fichiers
Bonjour,
Merci beacoup, ça fonctionne parfaitement.
Hors ligne
#5 Le 28/03/2013, à 22:00
- Totor
Re : [Résolu] Copie de fichiers
histoire d'intruduire d'autres notions ...
( shopt -s dotglob; file **|awk -r -F: '/^[^.]+:.*JPEG/ { print $1}' )
-- Lucid Lynx --
Hors ligne