Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2477 connectés 

 


Dernière réponse
Sujet : [script] Search and replace
Pillow

l0ky a écrit :

le '<' je suis pas sur qu'il soit obligatoire

Exact, évidemment ça ne risque pas de marcher avec -i [:petrus75]


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Pillow

l0ky a écrit :

le '<' je suis pas sur qu'il soit obligatoire

Exact, évidemment ça ne risque pas de marcher avec -i [:petrus75]

ohan ah, c'est bien ce que je pensais :)
g compris ce qui n'allait pas:
1.j'ai testé avec des fichiers php vide
2.j'ai ajouté du contenu au fichier php5 et forcement, ca ne fonctionnait aps car il travaille qu'avec les .php
 
 
Merci à tous pour votre aide.
 
++
l0ky

Pillow a écrit :

man sed :o

sed -i 's/toto/tata/g' < nomdufichier

remplace toutes les occurrences de toto par tata dans le fichier nomdufichier.


 
le '<' je suis pas sur qu'il soit obligatoire

Pillow

ohan a écrit :

ah génial :)  
ca remplace le nom des fichiers :)
Comment remplacer dans le contenu des fichiers maitenant?
 
++


man sed :o

sed -i 's/toto/tata/g' nomdufichier

remplace toutes les occurrences de toto par tata dans le fichier nomdufichier.

ohan ah génial :)  
ca remplace le nom des fichiers :)
Comment remplacer dans le contenu des fichiers maitenant?
 
++
Pillow Il manque un backquote à la fin du find aussi [:petrus75]
ohan ben zut, je dois vraiment ête nul mais mais j'ai toujours la même erreur :(
Pillow

mr simon a écrit :

tu peux faire quelquechose comme ça :  
 
for file in `find . -name '*.php'
do

On peut aussi utiliser un vrai shell et se contenter de find file in **/*.php :o  
 

Citation :

#Renomme les fichiers
newfile=`echo $file | sed 's/.php/.php5/'`
`mv $file $newfile`

Il faut enlever les backquotes autour du mv et ça marche, mais eek quoi. mv "$file" "$file"\5. Ou un truc avec rename :o  
 

Citation :

#Change le contenu
`sed 's/.php/.php5/g' < $newfile`

Pareil, il faut enlever les backquotes, et il faut rajouter -i à sed.

ohan merci, j'ai une petite erreur :  
./script.sh: line 5: syntax error near unexpected token `|'
./script.sh: line 5: `  newfile=`echo $file | sed 's/.php/.php5/'``mv $file $newfile'
mr simon tu peux faire quelquechose comme ça :  
 
for file in `find . -name '*.php'
do
#Renomme les fichiers
newfile=`echo $file | sed 's/.php/.php5/'`
`mv $file $newfile
 
#Change le contenu
`sed 's/.php/.php5/g' < $newfile`
 
done
 
 
J'espere que ça marche.
 
ciao
 
Edit: J'avais oublié des ' dans le deuxième sed, peut-$etre que ça marche sans !
ohan dans tous les fichiers texte d'un répertoire et de ces sous-répertoires et aussi renomer les fichiers php en php5
 
++
Pillow C'est quoi la question au juste? Tu veux remplacer toutes les occurences de .php par .php5 dans un fichier texte? :??:
ohan salut,
j'ai déjà cherché des infos sur seb et awk mais je capte rien :)
 
tu pourrais m'aiguiller ?
 
++
l0ky 1. regarde peut etre rename
2. sed ou awk devrait faire l'affaire
ohan salut à tous,
Est ce qu'il existe une commande pour chercher et remplacer dans un répertoire:
-tous les fichiers .php par exemple en .php5
-dans le contenu de tous les fichiers ayant .php par .php5
 
Merci pour votre aide
++

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)