Lol!! On dirait moi qui me prends la tête sur un truc pas grave, pour le plaisir de me prendre la tête!!!
Effectivement mon code est pas super... mais il marche..
Au départ, je voulais lancer la commande dans un dossier où il y avait des .do, mais aussi des .dta, des .tex, des .doc, etc... et mon côté perfectionniste aurait voulu que ça passe de l'un à l'autre de façon presque transparente... si possible en ne retransformant les fichiers .do plus récent que _unix.do qui ont le même nom... (et réciproquement...)
Je pense qu'avec find j'ai tous ce qu'il me faut pour le faire... mais un peu la flemme pour gagner 3 secondes dans mon traitement... (c'est un truc que je lance 1 ou 2 fois par jour MAXI)
Par contre merci pour le coup du sed envoyé dans un autre fichier.. Je pense que ça me servira...
Pour l'instant je crée un dossier .do, je copie mes .do dedans, je mets ceux que je veux modifier dans un repertoire spéciale (dans mes signets) où il y a mes scripts, je les lance, je récupère les _unix.do, et je les mets dans mon dossier de .do...
C'est moche, mais c'est pas si long que ça!!! (beaucoup moins qu'utiliser gedit et rechercher/remplacer!!!)
du coup je vais surement faire comme tu as dis, sans faire de sauvegarde des fichiers dos...
Pour ce qui est des sauts de ligne il n'y a pas de problème apparemment...
Encore merci de te pencher sur mon problème (existentiel!!!)
Pour info j'ai ça maintenant :
find -maxdepth 1 \( -name '*.do' ! -name '*_unix.do' \) -print0 | xargs -0 rename 's/.do/.dos/g'
sed -i.do '/C:\\/s|\\|/|g;/C:\//s|C:/|/home/leo/|g' *.dos
rename 's/.dos.do/_dos.do/g' *.dos.do
rename 's/.dos/_unix.do/g' *.dos
sed -i.old '/\/home\/leo\//s|/|\\|g;/\\home\\leo\\/s|\\home\\leo\\|C:\\|g' *_unix.do
rm *_dos.do
cp -u *_unix.do
rename 's/_unix.do/.do/g' *_unix.do
rename 's/_unix.do.old/_unix.do/g' *_unix.do.old
Je pense qu'il y a du ménage à faire.. mais ça fait ce dont j'ai besoin à défaut de faire ce que je veux... (finalement plus je connais de commande plus je me dis qu'on peut affiner... mais au bout d'un moment il faut passer au vrai boulot!!)