Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

un script pour traitement par batch

15 réponses
Avatar
Bernard
Bonjour à tous,

Je souhaite copier à part un certain nombre de fichiers choisis dans un
répertoire. Sur les 1200 fichiers que contient ce répertoire, j'en ai
sélectionné un peu plus de 400 de la liste, et j'ai éliminé les
autres... Je les éliminés d'une liste récupérée via 'ls -l >
nomliste.txt', et non pas du répertoire ou d'une copie de celui-ci, ce
qu'il aurait mieux valu que je fasse. Ce tri sur la liste m'ayant pris
plusieurs heures de travail fastidieux, j'espère éviter de devoir le
recommencer sur le contenu du répertoire. En fait, comme cette liste
représentait déjà une sélection du contenu dudit répertoire, c'est
environ 12500 fichiers qu'il me faudrait à nouveau trier.

Comment copier, à partir de cette liste ? S'il ne s'était agit que
d'une ou deux douzaines de fichiers, je n'eusse pas été embarrassé de
faire 2 ou 3 douzaines de fois la manip suivante :

cp /mnt/exthd/copié_collé_du_nom_du_fichier.sdm /home/mydir

mais là, avec plus de 400 fichiers, c'est un peu fastidieux à faire
ainsi. Alors, d'après ma liste de fichiers (chaque ligne comprenant un
fichier avec la commande 'cp' que j'ai ajouté en chaque tête de ligne
grâce à une manip dans un tableau OO_calc), comment est-ce que je peux
faire un traitement en batch ?

Un problème du même genre s'était posé à moi il y a 3 ou 4 ans, et je
l'avais résolu par une petite routine écrite en Pascal (Free Pascal), ce
qui avait été possible avec une routine 'for n=x to y do' parce que les
noms de fichiers étaient faits de numéros croissants, ce qui n'est pas
le cas pour mon problème actuel. En fait, les fichiers à traiter sont
composés de chaînes de caractères avec des espaces (ce qui m'a obligé de
les inclure entre des ' '), car il s'agit d'un archivage d'e-mails reçus
via StarOffice 5.1 et 5.2, sur mon ancien ordi.

Merci d'avance pour toute suggestion pertinente.


Bernard

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

5 réponses

1 2
Avatar
Jacques L'helgoualc'h
Pierre Meurisse a écrit, jeudi 12 mars 2009, à 00:00 :
Bonjour,



bonjour,

[...]
On peut aussi supprimer les espaces et autre cochonneries des noms des
fichiers en utilisant detox, puis adapter le fichier contenant la liste
des noms.



C'est là le hic, il faudra le faire de la même façon...

Cela présenterait l'avantage de faciliter un éventuel traitement
ultérieur.



Bien sûr --- mais en detoxant après coup...
--
Jacques L'helgoualc'h

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yves Rutschle
On Thu, Mar 12, 2009 at 12:00:05AM +0100, Pierre Meurisse wrote:
On peut aussi supprimer les espaces et autre cochonneries des noms des
fichiers en utilisant detox, puis adapter le fichier contenant la liste
des noms.



Je dois être boulet, je ne trouve pas detox dans les paquets
Debian, ni dans Google.

Sinon, il n'est quand même pas absurde d'avoir des espaces
dans les noms de fichier parfois (Je pense aux collections
de mp3^Wogg en particulier).

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pierre Meurisse
On Thu, Mar 12, 2009 at 11:51:56AM +0100, Yves Rutschle wrote:

On Thu, Mar 12, 2009 at 12:00:05AM +0100, Pierre Meurisse wrote:
> On peut aussi supprimer les espaces et autre cochonneries des noms des
> fichiers en utilisant detox, puis adapter le fichier contenant la liste
> des noms.

Je dois être boulet, je ne trouve pas detox dans les paquets
Debian, ni dans Google.



On trouve ce paquer dans lenny et suivantes :

http://packages.debian.org/search?keywordsÞtox&searchon=names&suite=all&section=all

Sinon, il n'est quand même pas absurde d'avoir des espaces
dans les noms de fichier parfois (Je pense aux collections
de mp3^Wogg en particulier).



Je trouve que les espaces et caractères accentués dans les noms de
fichiers sont des sources d'ennuis.

--
Pierre Meurisse

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yves Rutschle
On Thu, Mar 12, 2009 at 12:22:25PM +0100, Pierre Meurisse wrote:
> Je dois être boulet, je ne trouve pas detox dans les paquets
> Debian, ni dans Google.
>
On trouve ce paquer dans lenny et suivantes :

http://packages.debian.org/search?keywordsÞtox&searchon=names&suite=all&section=all



Ah, faut que j'upgrade. Désolé du bruit.

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
mathias dufresne
--0015174bdeaa617a500465005d97
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Coucou,

Je n'ai pas complètement tout relu, mais j'ai vu qu'il y avait une histoi re
d'espaces dans les noms de fichiers, pour que chaque ligne reste une ligne
il suffit de modifier l'IFS :

export IFS=$'n' ; for fichier in `cat nomliste.txt`; do cp
/la/source/du/$fichier /home/mydir; done

à plus, en espérant ne pas être trop à côté :p

--0015174bdeaa617a500465005d97
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Coucou,<br><br>Je n&#39;ai pas complètement tout relu, mais j&#39;ai vu q u&#39;il y avait une histoire d&#39;espaces dans les noms de fichiers, pour que chaque ligne reste une ligne il suffit de modifier l&#39;IFS :<br><br>
export IFS=$&#39;n&#39; ; for fichier in `cat nomliste.txt`; do cp /la/s ource/du/$fichier /home/mydir; done<br><br>à plus, en espérant ne pas être trop à côté :p<br><br><br><br>

--0015174bdeaa617a500465005d97--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet « unsubscribe »
vers
En cas de soucis, contactez EN ANGLAIS
1 2