(OLD) (ARCHIVED) Puppy Linux Discussion Forum Forum Index (OLD) (ARCHIVED) Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info

This forum can also be accessed as http://oldforum.puppylinux.com
It is now read-only and serves only as archives.

Please register over the NEW forum
https://forum.puppylinux.com
and continue your work there. Thank you.

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups    
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Mon 21 Sep 2020, 02:47
All times are UTC - 4
 Forum index » House Training » Users ( For the regulars ) » Pour les francophones
Changer en soulignés les espaces dans les noms de fichier ?
Moderators: Béèm, darkerror05, linuxcbon
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies. View previous topic :: View next topic
Page 2 of 2 [24 Posts]   Goto page: Previous 1, 2
Author Message
fabrice_035


Joined: 28 Apr 2014
Posts: 768
Location: Bretagne / France

PostPosted: Mon 08 Apr 2019, 10:29    Post subject:  

[ EDIT ] SOLUTION PLUS BAS

Salut,

Comme tu as fais un script j'ai cherché les autres solutions existantes et elles sont nombreuses mais surtout j'ai découvert que certains proposent d'utiliser le programme rename (connu de tous) car il intègrerait, entre autres, la fonction que tu proposes avec du script Perl.

J'ai alors testé les exemples que l'on peut trouver un peu partout et ici
https://www.computerhope.com/unix/rename.htm

Bien évidemment ça ne fonctionne absolument pas. J'ai découvert que rename sur ma puppy était dans une version obsolète (comme beaucoup de choses dans les puppy's)

Alors ici
https://cdn.kernel.org/pub/linux/utils/util-linux/v2.33/
on trouve la version la plus récente = 2.33

J'ai donc compilé et testé de nouveau les exemples cités plus haut. Et le résultat est le même, rename ne bronche pas, ne renvoi aucune erreur, mais ne fait rien.
Alors c'est un mystère. Rolling Eyes Peut être que Perl n'est pas dans la bonne version. Question

A+

(edit)

Bon donc comme souvent en écrivant la question la réponse arrive. J'ai donc cherché une version plus récente de Perl et je tombe la-dessus

https://packages.debian.org/fr/jessie/i386/perl/download

En fouinant dans l'archive dans le dossier /usr/bin il y a un programme "prename" qui est un script Perl qui fonctionne tel que les exemples le montre. Je n'ai pas étudié toutes les subtilité mais ça me semble très efficace. Donc il faut remplacer rename (ou faire un link) par prename.

Exemple : Remplacer tous les espaces par underscore de tous les fichiers du dossier

Code:
rename 's/ /_/g' *


Comme d'hab on peut faire un pipe de find vers rename.

++

_________________
Bionicpup64-8.0 _ Kernel 5.4.27-64oz _ Asus Rog GL752
Back to top
View user's profile Send private message 
musher0

Joined: 04 Jan 2009
Posts: 15041
Location: Gatineau (Qc), Canada

PostPosted: Mon 08 Apr 2019, 10:55    Post subject:  

Quote:
Comme d'hab on peut faire un pipe de find vers rename.
Dit comme ça, on dirait que ça vient d'un film cochon ! MDR Laughing

Mais excellente recherche, Fabrice. Merci.

_________________
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
Back to top
View user's profile Send private message 
oui

Joined: 20 May 2005
Posts: 3606
Location: near Woof (Germany) :-) - 3 PC's: DELL SX280 750 MB Pentium4, Acer emachines 2 GB AMD64. DELL XPS15

PostPosted: Mon 08 Apr 2019, 16:15    Post subject:  

musher0 wrote:
Désolé. Jamais utilisé didiwiki. Je ne sais vraiment pas de quoi tu parles.


ben, oui! c'est embêtant de développer et de ne même pas connaître ce qu'on dévelope, cela conduit à des réalisations comme busterPup (je ne veux pas remettre de l'huile sur le feu, mais c'est la réalité: on nous supprime ou change considérablement de très vieux trucs de Puppy, bien rodés, bien huilés comme Rox, mais n'en connait même pas les ressources essentielles dans Puppy, et, oh, horreur, nous met en remplacement un prétendu "rox" qui ne ressemble pas du tout au rox de Puppy, avec un maniement totalement différent, en prétendant que c'est rox, alors que rox, je l'utilise dans Buster (pleine installation de Debian) et dans Deepin (2ième pleine installation) et il est absolument identique à celui de Puppy et non pas de busterPup...

... parce que vous connaissez TRÈS MAL les propriétés géniales de VOTRE DISTRIBUTION que vous prétendez vouloir rénover!

essaie didiwiki, il n'est peut-être plus dans busterPup, je ne me rappelle plus, mais il est dans tous les BONS Puppy's et ça ne prend que 10 minutes...
Back to top
View user's profile Send private message 
musher0

Joined: 04 Jan 2009
Posts: 15041
Location: Gatineau (Qc), Canada

PostPosted: Mon 08 Apr 2019, 17:21    Post subject:  

Tiens-toi-z-en donc au sujet du fil au lieu de déblatérer sur la création de
josejp2424, notre meilleur développeur.

Donc, grand amateur d'esquives, ta « valise à chameau » (ton "CamelCase"),
elle fait comment pour transformer les espaces en soulignés, encore ?

Ah, Je sais. Le caravanier met la valise entre les deux bosses du chameau.
Et voilà : il n'y a plus d'espace, il y a une manière de souligné. MDR. Laughing

_________________
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
Back to top
View user's profile Send private message 
musher0

Joined: 04 Jan 2009
Posts: 15041
Location: Gatineau (Qc), Canada

PostPosted: Thu 11 Apr 2019, 17:09    Post subject:  

Rebonjour.

Je récidive, relapse, rechute, rapplique... Smile

Je vous laisse le choix du verbe selon l'opinion que vous avez de ce
que je fais !

J'ai ajouté dans cette évolution de mon script initial (au remplacement
des espaces par des soulignés), quelques combinaisons de caractères
qu'on trouve fréquemment dans les titres de chansons et médias, et
même dans des titres de sites Web.
Code:
#!/bin/bash
# /root/my-applications/bin/espace-souligne.sh
#
# Objectif : Changer en soulignés les espaces dans les noms de fichier
# ------------- et remplacer d'autres caractères gênants dans des titres.
#
# Utilité : Surtout pour les titres de chansons et morceaux de musique.
#
# Usage : Lancer ce script sous terminal dans un répertoire qui
# ----------- contient des noms de fichier ayant un ou des espaces.
#
# (c) musher0, 5 et 11 avril 2019. GPL3.
####
ls -1 --file-type > liste
while read A;do
   if [ "$A" != "liste" ];then # Évident !
      C="$A"
      [ "${C// /_}" != "$C" ] && C="${C// /_}" # espaces remplacées par souligné.
# Cette ligne trouvée sur le forum StackExchange.
# Les autres lignes sont de moi.
      [ "${C//_-_/-}" != "$C" ] && C="${C//_-_/-}" # «_-_» remplacé par tiret;
      [ "${C//\'/-}" != "$C" ] && C="${C//\'/-}" # apostrophe remplacé par tiret.
      [ "${C//|/-}" != "$C" ] && C="${C//|/-}" # barre verticale remplacée par tiret.
      # Autres ?
      [ "$C" != "$A" ] && mv -f "$A" "$C" # Changement de nom au besoin. # Merci à phat7 pour son oeil de lynx !
   else
      echo "$A : Ce fichier est correctement nommé."
   fi
done < liste
rm -f liste
C'est donc une « empiration » ou une amélioration, selon votre point de vue.
Et si vous croyez que c'est totalement inutile, c'est votre choix aussi !

Par contre, le « germe » de code bash pour le remplacement vient de
quelqu'un qui l'a mis sur le forum StackExchange. Il faut donc que ça ait
une certaine valeur, si c'est sur StackExchange.

Et puis la possibilité de tels remplacements existe depuis des lustres dans
bash même. En fin de compte je n'ai pas inventé grand chose.

Dans l'espoir, nez en moins et ce, pendant, Laughing d'être utile à quelqu'un !
espace-souligne-2.sh.zip
Description 
zip

 Download 
Filename  espace-souligne-2.sh.zip 
Filesize  783 Bytes 
Downloaded  269 Time(s) 

_________________
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

Last edited by musher0 on Thu 11 Apr 2019, 23:07; edited 1 time in total
Back to top
View user's profile Send private message 
phat7

Joined: 05 Jun 2015
Posts: 184

PostPosted: Thu 11 Apr 2019, 22:41    Post subject:  

musher0 wrote:
[ "$C" != "$B" ] && mv -f "$A" "$C" # Changement de nom au besoin.

[ "$C" != "$A" ]
Back to top
View user's profile Send private message 
musher0

Joined: 04 Jan 2009
Posts: 15041
Location: Gatineau (Qc), Canada

PostPosted: Thu 11 Apr 2019, 23:05    Post subject:  

phat7 wrote:
musher0 wrote:
[ "$C" != "$B" ] && mv -f "$A" "$C" # Changement de nom au besoin.

[ "$C" != "$A" ]
Très juste, mon cher Watson.
Je fais la correction à l'instant.
Merci.

_________________
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
Back to top
View user's profile Send private message 
fabrice_035


Joined: 28 Apr 2014
Posts: 768
Location: Bretagne / France

PostPosted: Fri 12 Apr 2019, 13:26    Post subject:  

Hello

Pourrai(s?)-je te suggérer une amélioration, qui serait sous la forme d'un script interactif qui permettrait à l'utilisateur d'exprimer son souhait de remplacement ?
J'ignore si cela représente beaucoup de travail.

Merci.

_________________
Bionicpup64-8.0 _ Kernel 5.4.27-64oz _ Asus Rog GL752
Back to top
View user's profile Send private message 
musher0

Joined: 04 Jan 2009
Posts: 15041
Location: Gatineau (Qc), Canada

PostPosted: Fri 12 Apr 2019, 17:19    Post subject:  

Ah, zut, Fabrice. Tu utilises le gest. de fen. jwm.
Je vais devoir me retenir à quatre pour ne pas faire de discrimination ! MDR Laughing
(Jwm étant la revanche de son auteur, Joe Wing, sur l'humanité.)
Mais au moins tu as le courage de tes convictions, tu le dis.

~~~~~~~~~~

Au sujet d'un mode interactif, pourquoi pas ?
Tu n'as rien trouvé de tel dans tes recherches ?

~~~~~~~~~~

Il me semble qu'il y a déjà les renameutils, qui contiennent qmv. Avec
qmv, tu peux modifier un ou des noms de fichier dans l'éditeur de
ton choix. (Jointes.)

Voici le petit script que j'utilise pour :
Code:
#!/bin/ash
# /usr/local/bin/qmv.sh
####
qmv -e leafpad --format=destination-only
avec leafpad comme éditeur.
J'entre dans un répertoire et sous console, je tape < qmv.sh >.
Leafpad se lance avec un nom de fichier par ligne.
J'apporte mes corrections, j'enregistre et je quitte leafpad.
qmv fait alors les corrections pour moi.

~~~~~~~~~~

Et puis, dans mon Puppy, j'ai
1) l'utilitaire < rename > à /usr/bin/rename ;
2) le < PRename > du collègue puppyiste zigbert, à /usr/bin/prename.

Tu les as aussi ?

À+
qmv-en-action.jpg
 Description   qmv - via leafpad - s'appprêtant à modifier le nom de fichier « Un plus Une.iso » en « Un_plus_Une.iso »
 Filesize   227.95 KB
 Viewed   200 Time(s)

qmv-en-action.jpg

compat-libtermcap-2.0.8-49.el6.i686.pet
Description  Comme dépendance, vous aurez besoin de cette petite biblio, avec les renameutils.
pet

 Download 
Filename  compat-libtermcap-2.0.8-49.el6.i686.pet 
Filesize  6.31 KB 
Downloaded  241 Time(s) 
renameutils-0.12.0_exec.pet
Description 
pet

 Download 
Filename  renameutils-0.12.0_exec.pet 
Filesize  147.18 KB 
Downloaded  223 Time(s) 

_________________
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 2 of 2 [24 Posts]   Goto page: Previous 1, 2
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies. View previous topic :: View next topic
 Forum index » House Training » Users ( For the regulars ) » Pour les francophones
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1268s ][ Queries: 13 (0.0407s) ][ GZIP on ]