shell: ajouter du texte en début de ligne d'un fichier
bonjour la liste,
J'aimerai tagué un fichier en rajoutant un motif du genre <TRAITE> en
début de ligne de mon fichier.
La difficulté provient du fait que je veux taguer uniquement certaines
lignes (et pas en perl ;) )
Par exemple:
# cat fichier
toto ceci est la ligne 1
titi ceci est la ligne 2
tata ceci est la ligne 3
toto ceci est la ligne 4
tutu ceci est la ligne 5
Je fait un grep toto dans fichier_tempo
# cat fichier_tempo
toto ceci est la ligne 1
toto ceci est la ligne 4
Ensuite, dans un script qui lit fichier_tempo, je voudrais tagger les 2
lignes "toto ceci est la ligne 1" et "toto ceci est la ligne 4" du
fichier et avoir ainsi en bout de course:
# cat fichier
<TRAITE>toto ceci est la ligne 1
titi ceci est la ligne 2
tata ceci est la ligne 3
<TRAITE>toto ceci est la ligne 4
tutu ceci est la ligne 5
Pourquoi ceci ? pour ne prendre que les nouvelles lignes "toto" lorsque
je relancerai le script.
Voici mon script actuel qui n'attend plus que le TAG.
internet:/home/fregnier/scripts# cat verif_spam.sh
#fab le 24/10/2006
#vérifier dans mail.log les nouveaux spam (qui sont en DISCARD) et
envoyé les expediteurs et destinataires à root.
#on tag les spam lorsqu'ils ont été traité
FILE=/tmp/spam
FILE2=/tmp/spam2
rm $FILE $FILE2
grep discard /var/log/mail.log > $FILE
if test -s $FILE
then
cat $FILE | while read LALIGNE
do
QUAND=`echo $LALIGNE | awk '{print $1" "$2" "$3" " }'`
TO_FROM=`echo $LALIGNE | awk -F";" '{print $2 }'`
echo $QUAND $TO_FROM >> $FILE2
#je tag mail.log
# mais comment ?
done
#on envoi le resultat à root
cat $FILE2 | mail -s "Spams reçus:" root
fi
merci et a+
f.
Reply to: