2009-10-18 4 views
0

J'ai un petit fichier texte avec la syntaxe suivante:mot cShell remplacement

FileName: some name 
Version: 3 
Length: 45 
hello, this is an irrelevant, unimportant text. 
So is this line. 

Maintenant, je suis en train d'écrire un script qui remplace le numéro de version avec un nouveau numéro donné.

Quelqu'un sait comment? Je ne me dérange pas d'être laid

grâce, Udi

Répondre

0

Pourquoi ne pas utiliser sed?

sed -i 's/^Version: .*$/Version: 99/' foo.txt 
+0

Eh bien, cela a fonctionné .. Merci! Je ne sais pas ce que j'ai fait de mal, mais ça marche maintenant :) – Udi

0

Je ne sais pas comment le faire dans csh. Cependant, au risque de faire partie de ces gens agaçants qui vous disent d'utiliser leur truc favori à chaque occasion, il y a de meilleurs moyens que d'utiliser csh. La commande unix traditionnelle sed est bonne pour ce genre de choses, ou un langage comme Perl est également utile.

perl -p -i -e 's/Version: 3/Version: 4/g;' myfile 

devrait le faire.