Commande pour ne copier que certain fichier dans un dossier
Résolu
ZonZon
-
ZonZon -
ZonZon -
Bonjour à tous
je début sous linux et je cherche une commande qui me permétrait de ne copier que certains fichier dans un dossier. Par exemple copier du 3 au 7eme fichier, ou que les 3 premiers ou alors le 2eme, le 5eme et le 8eme sans devoir entrer leurs noms car c'est trop long à taper.
Si vous connaissez une solution, merci de partager.
Bonne soirée
je début sous linux et je cherche une commande qui me permétrait de ne copier que certains fichier dans un dossier. Par exemple copier du 3 au 7eme fichier, ou que les 3 premiers ou alors le 2eme, le 5eme et le 8eme sans devoir entrer leurs noms car c'est trop long à taper.
Si vous connaissez une solution, merci de partager.
Bonne soirée
A voir également:
- Commande pour ne copier que certain fichier dans un dossier
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Invite de commande - Guide
- Dossier appdata - Guide
- Comment copier un mail dans un dossier - Guide
4 réponses
Bonjour
Le plus simple est de faire une boucle qui itère sur les bons fichiers.
Exemple : copier les fichiers situés dans
Ensuite il faut savoir que la touche tabulation permet d'utiliser l'auto complétion et de ne pas être trop sensible à la longueur des fichiers.
Bonne chance
Le plus simple est de faire une boucle qui itère sur les bons fichiers.
Exemple : copier les fichiers situés dans
/home/toto/titicontenant "mp3" dans leur nom vers
/home/toto/tata
mkdir -p /home/toto/tata
for x in $(ls -1 /home/toto/titi | grep mp3); do cp "$x" /home/toto/tata; done
Ensuite il faut savoir que la touche tabulation permet d'utiliser l'auto complétion et de ne pas être trop sensible à la longueur des fichiers.
Bonne chance
La commande est à éviter dans une boucle tant que possible, c'est le mal en personne en cas d'espaces dans les noms de fichiers ;-(
Le contenu du répertoire :
La commande à prescrire :
$ for i in $(ls -1 *);do echo "===> ${i}";done===> fich1.txt
===> fich2.txt
===> fich3.txt
===> mon
===> fichier
===> a
===> trou.txt
La bonne façon de faire :
$ for i in *;do echo "===> ${i}";done===> fich1.txt
===> fich2.txt
===> fich3.txt
===> mon fichier a trou.txt
;-)
C'est d'ailleurs pour ça que je ne mets jamais d'espaces dans mes noms de fichiers justement pour me laisser cette flexibilité, ce qui permet d'utiliser ensuite directement des choses comme dans une boucle .