2010-05-07 4 views
1

J'essaie de changer le contenu d'une ligne spécifique dans un lot de fichiers. Je pensais que ce serait un morceau de gâteau, mais pour une raison quelconque, rien ne se passe, donc je suppose qu'il me manque quelque chose. La ligne 8 aurait dû être remplacée.remplacer la ligne par sed dans csh

Voici le script csh je:

#!/bin/csh 
# 
# replace context in line xxx by yyy 
# 2010/05/07 

set files = `ls FILENAMEPART*` 
echo $files 
foreach file ($files) 
     sed '8,8 s/1/2 /' $file 
end 

Merci pour les suggestions

Répondre

2

imprime sed le fichier résultant (avec les lignes remplacées) à stdout par défaut et quitte la source (entrée) fichier intact. Utilisez l'option -i pour l'édition sur place, ce qui signifie que les modifications sont effectuées directement dans le fichier $.

+0

merci un million :) –

+0

De rien. Veuillez accepter la réponse si elle résout votre problème. – jkramer

+0

bien sûr, j'attendais juste que les minutes passent avant que je sois autorisé à –

Questions connexes