Concatenation csh
LCoileux
-
Darkito Messages postés 1191 Date d'inscription Statut Membre Dernière intervention -
Darkito Messages postés 1191 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je débute en csh, et j'aurais voulu savoir comment rajouter une chaine de caractères au début d'un fichier non vide. Je sais que la commande >> ajoute une chaine, mais en fin de fichier.
De plus, est-il possible de copier un fichier texte en supprimant une certaine ligne de ce fichier ?
Merci de votre aide.
je débute en csh, et j'aurais voulu savoir comment rajouter une chaine de caractères au début d'un fichier non vide. Je sais que la commande >> ajoute une chaine, mais en fin de fichier.
De plus, est-il possible de copier un fichier texte en supprimant une certaine ligne de ce fichier ?
Merci de votre aide.
6 réponses
Bonjour,
Pour supprimer une ligne :
Pour supprimer une ligne :
Darkito >cat totof toto un titi deux tata trois Darkito >sed '2d' totof toto un tata trois(ici on supprimera le 2ème ligne)
Pour ajouter une chaine de caractère
Darkito >cat totof toto un titi deux tata trois Darkito > sed '1 s@\(.*\)@Ajout\n\1@' totof Ajout toto un titi deux tata trois
Merci bien
et comment fait-on pour rediriger cette commande dans ce fichier ? J'essaie avec les pipe mais pour l'instant j'y arrive pas...
et comment fait-on pour rediriger cette commande dans ce fichier ? J'essaie avec les pipe mais pour l'instant j'y arrive pas...
Pour la redirection dans le fichier d'origine, il y cette discussion : http://www.commentcamarche.net/forum/affich 4911956 sed en sortie sur fichier identique
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour l'insertion, il y a même plus simple (je viens de découvrir ça à l'instant)
Darkito >cat totof toto un titi deux tata trois Darkito >sed '1 i\Ajout' totof Ajout toto un titi deux tata trois
Merci beaucoup
et dis moi, comment dois-je faire pour comparer la 1ere ligne d'un fichier avec une phrase ?
Quand je fais par exemple
if (`head -1 $fichier1`=="blablabla") then
echo "vrai"
else echo "faux"
endif
il verifie bien si la premiere ligne est "blablabla". Mais si c'est "blablabla bla", il me repond faux; et je n'y arrive pas en faisant "...== "blablabla *".
Bref, je voudrais qu'il regarde si le premier mot est bien "blablabla", et quel que soit la suite. Si je met "...=="blablabla*"", ca ne marche pas. Comment faire ?
et dis moi, comment dois-je faire pour comparer la 1ere ligne d'un fichier avec une phrase ?
Quand je fais par exemple
if (`head -1 $fichier1`=="blablabla") then
echo "vrai"
else echo "faux"
endif
il verifie bien si la premiere ligne est "blablabla". Mais si c'est "blablabla bla", il me repond faux; et je n'y arrive pas en faisant "...== "blablabla *".
Bref, je voudrais qu'il regarde si le premier mot est bien "blablabla", et quel que soit la suite. Si je met "...=="blablabla*"", ca ne marche pas. Comment faire ?