Remplacer dans les fichiers avec sed

Remplacer dans les fichiers avec sed - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 10-03-2009 à 19:15:26    

Bonsoir, je suis perdu ..

Code :
  1. find ./ -type f -exec sed -i ’s/string1/string2/’ {} \;
  2. for fl in *.*; do
  3. sed -i "s/string1/string2/g" $f1
  4. done


 
me répond sed -e expression#1, char 1:unknown command: `.'
La seconde me répond "No Input Files"
 
comment le faire marcher ??


Message édité par grosbin le 10-03-2009 à 19:29:34

---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 10-03-2009 à 19:15:26   

Reply

Marsh Posté le 10-03-2009 à 20:55:03    

Salut,
 
dit nous en plus sur le contexte, à savoir que sont le fichiers et surtout ou lance tu ces comnnandes  ? Quel est le type de shell interactif ou en script ? ( sh . bash ? tcsh ? zsh ? ) A premiere vu tes commandes sont bonnes, je pencherais pour un probleme de quotes

Reply

Marsh Posté le 10-03-2009 à 21:09:22    

en SSH tout simplement .. ça se fait plus aisément par php :)


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 10-03-2009 à 22:37:59    

Pour la première tu as des noms de fichiers merdiques.
Pour la seconde tu n'as aucun fichier correspondant au motif *.*

 

Un petit ls de ton répertoire collé ici devrait le confirmer.


Message édité par o'gure le 10-03-2009 à 22:38:33

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 10-03-2009 à 22:51:56    

les fichiers sont de simples .php .html et qques fichiers sans extensions :)


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 10-03-2009 à 23:41:23    

Je confirme o'gure :

Code :
  1. $ cat> $'\250\220'
  2. azerty
  3. $ ls
  4. ??
  5. $ find ./ -type f -exec sed -i ’s/az/FOO/’ {} \;
  6. sed: -e expression #1, char 1: unknown command: `�'
  7. $ rm *
  8. $ for fl in *.*; do sed -i "s/string1/string2/g" $f1; done
  9. sed: no input files
  10. $


Reply

Marsh Posté le 10-03-2009 à 23:43:10    

grosbin a écrit :

en SSH tout simplement .. ça se fait plus aisément par php :)


 
Je pense plutot que php ne t'affiche pas la sortie d'erreur STDERR par défaut à moins de la rediriger vers la sortie standart STDOUT.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed