Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/04/2007, 17h50   #1
Membre Expert
 
Avatar de gifffftane
 
Inscription : février 2007
Messages : 2 354
Détails du profil
Informations personnelles :
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 2 354
Points : 2 034
Points : 2 034
Par défaut \ et non pas /

Bonjour,

Je voudrais savoir s'il existe un moyen simple de remplacer ponctuellement le / des séparateurs de fichiers par un \, comme sous windows. C'est pour des tests.

À défaut, peut être un émulateur windows minimaliste ?... Je me contrefiche de toute la mécanique windows, ce que je voudrais, c'est lorsque je fais une recherche de fichier, quelque soit l'appel système, il me compose les chemins avec des \ comme séparateur.

Merci.
gifffftane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 08h47   #2
Rédacteur
 
Inscription : mars 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 298
Points : 1 450
Points : 1 450
tu passe le rsultat de la recheche par la command 'tr' :
Code :
1
2
3
4
5
6
7
 
find . | tr -s '/' '\'
.\DicOOo.sxw
.\PackFrench.zip
.\org.txt
.\workspace
....
__________________
Marc
Slackware for ever ......
BASH - KSH ( http://marcg.developpez.com/ksh/ )
MarcG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 10h15   #3
Membre Expert
 
Avatar de gifffftane
 
Inscription : février 2007
Messages : 2 354
Détails du profil
Informations personnelles :
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 2 354
Points : 2 034
Points : 2 034
Oui, mais cela ne va pas, car je ne suis pas dans un contexte de script, mais dans un contexte de logiciel que je teste, et que je voudrais tester en environnement simili-windows.

Ce logiciel fait des appels systèmes pour avoir des listes de fichiers, et je voudrais que linux, au lieu de lui renvoyer des paths avec des séparateurs /, lui renvoie des séparateurs \.

Pour préciser, c'est un test de programme java.
gifffftane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 14h00   #4
Membre Expert
 
Homme
Inscription : mars 2004
Messages : 1 051
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2004
Messages : 1 051
Points : 1 031
Points : 1 031
salut
le problème, c'est que sous linux, les séquences d'échappement sont préfixées par \ ; ce qui fait que dans certains cas, tu auras des chemins faux
__________________
Chaval
__________________
"Monsieur le chat voudriez-vous, s'il vous plait, demanda Alice, me dire de quel côté dois-je aller ?
Ca dépend de l'endroit où vous voulez vous rendre, répondit le chat"
Lewis Carrol
chaval est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 15h12   #5
Membre Expert
 
Avatar de gifffftane
 
Inscription : février 2007
Messages : 2 354
Détails du profil
Informations personnelles :
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 2 354
Points : 2 034
Points : 2 034
Cela m'est complètement égal. Je gère les cas.

Il ne s'agit absolument pas de répondre à toutes les situations possibles et imaginables mais seulement de ponctuellement faire que Linux se comporte comme si le séparateur de fichiers était \.
gifffftane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 16h22   #6
Membre à l'essai
 
Inscription : avril 2007
Messages : 24
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 24
Points : 21
Points : 21
J'ai peur de pas avoir vraiment compris le probleme... tu veux toucher au systeme mais pas a ton programme? on fait l'inverse d'hab :o

Tes paths sont des strings non?
donc t'as juste a faire un tastring.replace('/', '\'); et donner le retour a ton truc qui mange les paths...

Enfin j'ai peur de pas avoir vraiment compris le probleme... mais si c'est juste de transformer tes strings facilement, ca devrait le faire.
liodev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 18h29   #7
Membre Expert
 
Avatar de gifffftane
 
Inscription : février 2007
Messages : 2 354
Détails du profil
Informations personnelles :
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 2 354
Points : 2 034
Points : 2 034
Citation:
Envoyé par liodev
J'ai peur de pas avoir vraiment compris le probleme... tu veux toucher au systeme mais pas a ton programme? on fait l'inverse d'hab :o
He ben là je veux toucher au système le temps d'un programme

C'est parce que mes programmes tournent aussi bien sous windows que sous linux ou autre. Comme je développe sous Linux, que malgré toute ma vigilance il arrive que je me plante sur les schlachs, je me demandais s'il n'était pas possible de faire un windows super light sous linux.

Cela semble incroyable, inconcevable, inimaginable. Ce n'est pas grave !... Je trouverai un autre biais pour mes / et mes \ et mes \\ et mes /\ et mes | et mes }.
gifffftane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 18h36   #8
Membre Expert
 
Homme Arnaud
Développeur .NET
Inscription : avril 2006
Messages : 1 343
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2006
Messages : 1 343
Points : 1 504
Points : 1 504
Sous windows c:/ et c:\ reviennent au même il me semble, il n'y a donc pas à s'inquiéter pour les chemins, s'ils sont bons pour nunux, ils seront bons pour windows
Arnard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 18h38   #9
Membre Expert
 
Avatar de Deadpool
 
Homme
Inscription : novembre 2005
Messages : 1 187
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations forums :
Inscription : novembre 2005
Messages : 1 187
Points : 1 388
Points : 1 388
Java permet de spécifier les chemins avec / même sous Windows.

Conclusion : utilise les / partout.
__________________
We are facing a dangerous period ahead. If we do not stop, correct and change some of these wrongdoings, now, we are all going to suffer. Either things that we make will overtake us, or nature will take over. Earthquake, flood, rain, severe drought, severe winter, lightning destruction, great wind destruction; These things will warn us that we are not following the law of the great spirit.

Extrait du documentaire Broken Rainbow (1985)
Deadpool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 20h13   #10
Membre Expert
 
Avatar de gifffftane
 
Inscription : février 2007
Messages : 2 354
Détails du profil
Informations personnelles :
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 2 354
Points : 2 034
Points : 2 034
Mais je le sais que Java permet de mettre des \ et des / ! Ce que je souhaite est que LINUX me mette tantôt des /, tantot des \ ! C'est ça que je ne sais pas !
gifffftane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 11h18   #11
Membre Expert
 
Avatar de Deadpool
 
Homme
Inscription : novembre 2005
Messages : 1 187
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations forums :
Inscription : novembre 2005
Messages : 1 187
Points : 1 388
Points : 1 388
Citation:
Envoyé par gifffftane
Mais je le sais que Java permet de mettre des \ et des / ! Ce que je souhaite est que LINUX me mette tantôt des /, tantot des \ ! C'est ça que je ne sais pas !
C'était au cas où...

Dans ce cas j'ai du mal à comprendre ton problème. Tu as une solution portable qui marche sur les 2 environnement et je ne sais pour quelle raison, tu veux que Linux se comporte comme Windows ce qui est un non sens.

Dans quelle contexte veut tu faire ça? Lors de la sélection d'un chemin par l'utilisateur, à l'intérieur du code de ton programme?

Bref, faudrait nous expliquer un peu plus.
__________________
We are facing a dangerous period ahead. If we do not stop, correct and change some of these wrongdoings, now, we are all going to suffer. Either things that we make will overtake us, or nature will take over. Earthquake, flood, rain, severe drought, severe winter, lightning destruction, great wind destruction; These things will warn us that we are not following the law of the great spirit.

Extrait du documentaire Broken Rainbow (1985)
Deadpool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 12h11   #12
Membre Expert
 
Avatar de gifffftane
 
Inscription : février 2007
Messages : 2 354
Détails du profil
Informations personnelles :
Localisation : France, Loire (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 2 354
Points : 2 034
Points : 2 034
Coté Java, on peut mettre des / et des \. OK.

CEPENDANT, comme je travaille dans un environnement (Linux) où il n'y a que des /, il se peut que, pour une raison ou pour une autre, que je ne connais pas à l'avance (sinon c'est évidemment facile de donner la solution), en cas d'apparition d'un \, mon programme ne fonctionne plus correctement.

Et ce, bien que théoriquement cela devrait marcher. Mais, la théorie ne suffit pas.

Une façon de procéder serait de faire le test sous windows. Mais comme c'est assez lourd, je m'étais dit que peut être il y avait un moyen, de changer la chose sous Linux... Comme c'est un non sens, je vais pas m'entéter... je vais trouver une autre approche, et puis voilà.
gifffftane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 09h30   #13
Membre à l'essai
 
Inscription : avril 2007
Messages : 24
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 24
Points : 21
Points : 21
hum...

t'as peur de tomber sur un

/home/dev/v\'la_l\'path_pourri.txt

en gros c'est ca? oO

Sinon si tu veux modifier ton path... le mieux est encore de le faire dans ton java plutot que ton systeme... tu check sur quel environnement tu es, et tu agis en conséquences... Si tu veux des \ tu mets des \ et si tu veux des / tu mets des / sans te prendre la tete non?
liodev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 14h19   #14
Membre émérite
 
Inscription : avril 2007
Messages : 868
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2007
Messages : 868
Points : 963
Points : 963
Envoyer un message via ICQ à Mark Havel Envoyer un message via MSN à Mark Havel
J'ai énormément de mal à comprendre ton bloquage là. Je viens de tester sous l'explorateur Windows et que ce soit C:\Mon\Chemin\A\Moi ou C:/Mon/Chemin/A/Moi, Windows ne pose strictement aucun problème et ne dit rien ni ne se trompe. Et c'est valable à peu près partout dans ce sens, je me rappelle d'une application web programmée en PHP et testée sous Windows et Linux et lui parler à coup de / en tant que séparateur ne posait aucun problème à aucun OS, même largement moins que d'utiliser \.

De toutes façons, je crois que Java doit être capable de faire le travail que tu demandes tout seul et même s'il renvoie un chemin composé de /, j'ai la très nette impression que ça ne posera pas de problèmes à Windows. Et sinon, non, je ne vois pas comment modifier le comportement de l'OS à ce niveau là.
Comme dit, au pire, tu fais un str_replace dans le sens voulu pour n'avoir au final qu'un unique séparateur de chemin à gérer en interne.
Mark Havel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h31.


 
 
 
 
Partenaires

Hébergement Web