Appels aux Cadors de la Ligne de commande : Renommage de fichier assez complexe.
33 réponses
pas.de.spam
Bonjour à tous,
Voilà, j'ai un problème assez complexe à résoudre et je ne pense pas
m'en sortir par la voie clicodromique.
J'ai environ 1200 dossiers contenant chacun 1 fichier (y en avait plus
avant, mais je les ai virés.
J'aimerais renommer, en une seule fois chacun des fichiers présents dans
ces dossiers, en ajoutant au dévbut du nom, les 5 premiers caractères
présent au début du nom du dossier ...
Je ne doute pas que vous allez me sortir un formule du tonnerre de Zeus,
et je vous en remercie d'avance.
Tu sais, comme beaucoup de choses, ça s'apprend :-)
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
Tu sais, comme beaucoup de choses, ça s'apprend :-)
--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
Tu sais, comme beaucoup de choses, ça s'apprend :-)
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
Anonyme
Eric Levenez wrote:
À la place du "grep >/dev/null", un "grep -q" est plus joli, non ?
Ben oui, en plus c'est ce que je fais en général... :-) J'ai été perturbé par l'autre script... :-)
Je pense qu'il va y avoir un problème si les fichiers ont un Newline dans leur nom (à cause du print du find).
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon, le Finder interdit de renommer un fichier en lui rajoutant un newline, ça limite déjà beaucoup... on pourrait effectivement remplacer le -print par un -exec echo {} | tr "nr" " " ;
Mais bon.....
Mais c'est ce genre de programme que j'aurais fait, mais sans utiliser les "$(" trop typés.
J'aime bien moi, je trouve ça plus lisible. Question de goût.
Et pour faire un programme vraiment sûr, j'aurais fait le script en Perl.
J'ai jamais accroché avec Perl pour ce genre de choses... Je préfère python et de loin, mais là, le traitement est beaucoup trop simple pour sortir un truc comme python...
-- Anonyme ( jayce <@> mosx.org ) ********* MosX.org <http://www.mosx.org/> ********* (MosX.net renaît sous le nom MosX.org...)
Eric Levenez <usenet@levenez.com> wrote:
À la place du "grep >/dev/null", un "grep -q" est plus joli, non ?
Ben oui, en plus c'est ce que je fais en général... :-) J'ai été
perturbé par l'autre script... :-)
Je pense qu'il va y avoir un problème si les fichiers ont un Newline dans
leur nom (à cause du print du find).
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon,
le Finder interdit de renommer un fichier en lui rajoutant un newline,
ça limite déjà beaucoup... on pourrait effectivement remplacer le
-print
par un
-exec echo {} | tr "nr" " " ;
Mais bon.....
Mais c'est ce genre de programme que j'aurais fait, mais sans utiliser les
"$(" trop typés.
J'aime bien moi, je trouve ça plus lisible. Question de goût.
Et pour faire un programme vraiment sûr, j'aurais fait le
script en Perl.
J'ai jamais accroché avec Perl pour ce genre de choses... Je préfère
python et de loin, mais là, le traitement est beaucoup trop simple pour
sortir un truc comme python...
--
Anonyme ( jayce <@> mosx.org )
********* MosX.org <http://www.mosx.org/> *********
(MosX.net renaît sous le nom MosX.org...)
À la place du "grep >/dev/null", un "grep -q" est plus joli, non ?
Ben oui, en plus c'est ce que je fais en général... :-) J'ai été perturbé par l'autre script... :-)
Je pense qu'il va y avoir un problème si les fichiers ont un Newline dans leur nom (à cause du print du find).
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon, le Finder interdit de renommer un fichier en lui rajoutant un newline, ça limite déjà beaucoup... on pourrait effectivement remplacer le -print par un -exec echo {} | tr "nr" " " ;
Mais bon.....
Mais c'est ce genre de programme que j'aurais fait, mais sans utiliser les "$(" trop typés.
J'aime bien moi, je trouve ça plus lisible. Question de goût.
Et pour faire un programme vraiment sûr, j'aurais fait le script en Perl.
J'ai jamais accroché avec Perl pour ce genre de choses... Je préfère python et de loin, mais là, le traitement est beaucoup trop simple pour sortir un truc comme python...
-- Anonyme ( jayce <@> mosx.org ) ********* MosX.org <http://www.mosx.org/> ********* (MosX.net renaît sous le nom MosX.org...)
Thierry B.
--{ Pierre-Olivier TAUBATY a plopé ceci: }--
Purée, ce que j'aimerais savoir faire ...
"Introduction aux scripts Shell" chez O'Reilly.
-- Donc chez VU, on avait mis en place un système de boîtier très design, qui permettait aux actionnaires de voter en appuyant au choix sur un des trois boutons disponibles (oui, non, n'a pas compris la question).
--{ Pierre-Olivier TAUBATY a plopé ceci: }--
Purée, ce que j'aimerais savoir faire ...
"Introduction aux scripts Shell" chez O'Reilly.
--
Donc chez VU, on avait mis en place un système de boîtier très design,
qui permettait aux actionnaires de voter en appuyant au choix sur un
des trois boutons disponibles (oui, non, n'a pas compris la question).
-- Donc chez VU, on avait mis en place un système de boîtier très design, qui permettait aux actionnaires de voter en appuyant au choix sur un des trois boutons disponibles (oui, non, n'a pas compris la question).
Patrick Stadelmann
In article <1ifhdt2.1cbcmks81ezssN%, (Anonyme) wrote:
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon, le Finder interdit de renommer un fichier en lui rajoutant un newline, ça limite déjà beaucoup...
Faudrait encore filtrer les fichiers invisibles, parce que là il me semble qu'il va renommer aussi les .DS_Store ...
Patrick -- Patrick Stadelmann
In article <1ifhdt2.1cbcmks81ezssN%jayce@mosx.org>,
jayce@mosx.org (Anonyme) wrote:
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon,
le Finder interdit de renommer un fichier en lui rajoutant un newline,
ça limite déjà beaucoup...
Faudrait encore filtrer les fichiers invisibles, parce que là il me
semble qu'il va renommer aussi les .DS_Store ...
Patrick
--
Patrick Stadelmann <Patrick.Stadelmann@unine.ch>
In article <1ifhdt2.1cbcmks81ezssN%, (Anonyme) wrote:
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon, le Finder interdit de renommer un fichier en lui rajoutant un newline, ça limite déjà beaucoup...
Faudrait encore filtrer les fichiers invisibles, parce que là il me semble qu'il va renommer aussi les .DS_Store ...
Patrick -- Patrick Stadelmann
Anonyme
Patrick Stadelmann wrote:
In article <1ifhdt2.1cbcmks81ezssN%, (Anonyme) wrote:
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon, le Finder interdit de renommer un fichier en lui rajoutant un newline, ça limite déjà beaucoup...
Faudrait encore filtrer les fichiers invisibles, parce que là il me semble qu'il va renommer aussi les .DS_Store ...
Le problème était mal posé alors, il était dit qu'il n'y avait qu'un seul fichier par répertoire. Je renomme ce fichier quel qu'il soit... :-)
Bon, ceci dit, on peut filtrer ça avec des options de find...
-- Anonyme ( jayce <@> mosx.org ) ********* MosX.org <http://www.mosx.org/> ********* (MosX.net renaît sous le nom MosX.org...)
Patrick Stadelmann <Patrick.Stadelmann@unine.ch> wrote:
In article <1ifhdt2.1cbcmks81ezssN%jayce@mosx.org>,
jayce@mosx.org (Anonyme) wrote:
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon,
le Finder interdit de renommer un fichier en lui rajoutant un newline,
ça limite déjà beaucoup...
Faudrait encore filtrer les fichiers invisibles, parce que là il me
semble qu'il va renommer aussi les .DS_Store ...
Le problème était mal posé alors, il était dit qu'il n'y avait qu'un
seul fichier par répertoire. Je renomme ce fichier quel qu'il soit...
:-)
Bon, ceci dit, on peut filtrer ça avec des options de find...
--
Anonyme ( jayce <@> mosx.org )
********* MosX.org <http://www.mosx.org/> *********
(MosX.net renaît sous le nom MosX.org...)
In article <1ifhdt2.1cbcmks81ezssN%, (Anonyme) wrote:
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon, le Finder interdit de renommer un fichier en lui rajoutant un newline, ça limite déjà beaucoup...
Faudrait encore filtrer les fichiers invisibles, parce que là il me semble qu'il va renommer aussi les .DS_Store ...
Le problème était mal posé alors, il était dit qu'il n'y avait qu'un seul fichier par répertoire. Je renomme ce fichier quel qu'il soit... :-)
Bon, ceci dit, on peut filtrer ça avec des options de find...
-- Anonyme ( jayce <@> mosx.org ) ********* MosX.org <http://www.mosx.org/> ********* (MosX.net renaît sous le nom MosX.org...)
olivier.marti
Le Moustique wrote:
Mais de Panther à Léopard, j'y arrive pas. Lion, aurait mieux passé ;-)
Ah non, le lion c'est un gros flemmard, qui fait bosser son harem, ça ferait désordre... :-)
C'est le passage au multi-cœur qui fait ça. Les harems vont passer à 4, puis 8, etc …
Olivier
Le Moustique <lemoustic@freesurf.fr> wrote:
Mais de Panther à Léopard, j'y arrive pas. Lion, aurait mieux passé ;-)
Ah non, le lion c'est un gros flemmard, qui fait bosser son harem, ça
ferait désordre... :-)
C'est le passage au multi-cœur qui fait ça. Les harems vont passer à 4,
puis 8, etc …
Mais de Panther à Léopard, j'y arrive pas. Lion, aurait mieux passé ;-)
Ah non, le lion c'est un gros flemmard, qui fait bosser son harem, ça ferait désordre... :-)
C'est le passage au multi-cœur qui fait ça. Les harems vont passer à 4, puis 8, etc …
Olivier
Eric Levenez
Le 16/04/08 08:27, dans <1ifhdt2.1cbcmks81ezssN%, « Jayce Piel » a écrit :
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon, le Finder interdit de renommer un fichier en lui rajoutant un newline, ça limite déjà beaucoup... on pourrait effectivement remplacer le -print par un -exec echo {} | tr "nr" " " ;
Je ne pense pas que cela va marcher, le mieux est le -print0, mais après cela il faut un traitement bien spécifique. Certains jouent avec la variable IFS...
Le Finder se permet ce qu'il veut. Je me souviens des fichiers "Iconr" avec un bon vieux CR dans le nom qui ont posés tant de problèmes aux serveurs FTP capables de les créer mais pas de les supprimer.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Le 16/04/08 08:27, dans <1ifhdt2.1cbcmks81ezssN%jayce@mosx.org>, « Jayce
Piel » <jayce@mosx.org> a écrit :
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon,
le Finder interdit de renommer un fichier en lui rajoutant un newline,
ça limite déjà beaucoup... on pourrait effectivement remplacer le
-print
par un
-exec echo {} | tr "nr" " " ;
Je ne pense pas que cela va marcher, le mieux est le -print0, mais après
cela il faut un traitement bien spécifique. Certains jouent avec la variable
IFS...
Le Finder se permet ce qu'il veut. Je me souviens des fichiers "Iconr" avec
un bon vieux CR dans le nom qui ont posés tant de problèmes aux serveurs FTP
capables de les créer mais pas de les supprimer.
--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Le 16/04/08 08:27, dans <1ifhdt2.1cbcmks81ezssN%, « Jayce Piel » a écrit :
Ah oui, j'avais pas pensé au newline dans le nom du fichier, mais bon, le Finder interdit de renommer un fichier en lui rajoutant un newline, ça limite déjà beaucoup... on pourrait effectivement remplacer le -print par un -exec echo {} | tr "nr" " " ;
Je ne pense pas que cela va marcher, le mieux est le -print0, mais après cela il faut un traitement bien spécifique. Certains jouent avec la variable IFS...
Le Finder se permet ce qu'il veut. Je me souviens des fichiers "Iconr" avec un bon vieux CR dans le nom qui ont posés tant de problèmes aux serveurs FTP capables de les créer mais pas de les supprimer.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Nicolas-MICHEL'_remove_'
Eric Levenez wrote:
Je pense qu'il va y avoir un problème si les fichiers ont un Newline dans leur nom (à cause du print du find).
if [ -n "` find . -name "* *" `" ] then echo "file name error" exit fi
ça le ferait pas ?
-- Nicolas - MICHEL at bluewin point ch AIM : michelnicolas
Eric Levenez <usenet@levenez.com> wrote:
Je pense qu'il va y avoir un problème si les fichiers ont un Newline dans
leur nom (à cause du print du find).
if [ -n "` find . -name "*
*" `" ]
then
echo "file name error"
exit
fi
ça le ferait pas ?
--
Nicolas - MICHEL at bluewin point ch
AIM : michelnicolas
Je pense qu'il va y avoir un problème si les fichiers ont un Newline dans leur nom (à cause du print du find).
if [ -n "` find . -name "* *" `" ] then echo "file name error" exit fi
ça le ferait pas ?
-- Nicolas - MICHEL at bluewin point ch AIM : michelnicolas
Erwan David
Eric Levenez écrivait :
Je pense qu'il va y avoir un problème si les fichiers ont un Newline dans leur nom (à cause du print du find).
On peut utiliser -print0 qui sépare les noms par un octet 0.
Mais c'est ce genre de programme que j'aurais fait, mais sans utiliser les "$(" trop typés. Et pour faire un programme vraiment sûr, j'aurais fait le script en Perl.
les $() C'ets quand même le standard POSIX actuel.
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé
Eric Levenez <usenet@levenez.com> écrivait :
Je pense qu'il va y avoir un problème si les fichiers ont un Newline dans
leur nom (à cause du print du find).
On peut utiliser -print0 qui sépare les noms par un octet 0.
Mais c'est ce genre de programme que j'aurais fait, mais sans utiliser les
"$(" trop typés. Et pour faire un programme vraiment sûr, j'aurais fait le
script en Perl.
les $() C'ets quand même le standard POSIX actuel.
--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Je pense qu'il va y avoir un problème si les fichiers ont un Newline dans leur nom (à cause du print du find).
On peut utiliser -print0 qui sépare les noms par un octet 0.
Mais c'est ce genre de programme que j'aurais fait, mais sans utiliser les "$(" trop typés. Et pour faire un programme vraiment sûr, j'aurais fait le script en Perl.
les $() C'ets quand même le standard POSIX actuel.
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé
Nicolas-MICHEL'_remove_'
Erwan David wrote:
les $() C'ets quand même le standard POSIX actuel.
C'est pas `` ?
-- Nicolas - MICHEL at bluewin point ch AIM : michelnicolas
Erwan David <erwan@rail.eu.org> wrote:
les $() C'ets quand même le standard POSIX actuel.
C'est pas `` ?
--
Nicolas - MICHEL at bluewin point ch
AIM : michelnicolas