Ajouter une mot en fin de ligne
Résolu
bennylane
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
bennylane Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
bennylane Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai un fichier du type:
LEC000315L 180874 KLC0171816G_1 10
LAB69020 178968 LAB69020_1 10
LAB69079 179970 LAB69079_1 12
LAB69212 179971 LAB69212_1 24
NOVN32928N 176794 ZNOVN32928_1 98
J'aimerais ajouter le mot "FIN" à la fin de chacune des ligne à la même position.
pour obtenir ceci:
LEC000315L 180874 KLC0171816G_1 10 FIN
LAB69020 178968 LAB69020_1 10 FIN
LAB69079 179970 LAB69079_1 12 FIN
LAB69212 179971 LAB69212_1 24 FIN
NOVN32928N 176794 ZNOVN32928_1 98 FIN
Voici mon script:
NB_LIGNES=`awk 'END {print NR}' $2`
NUM_LIGNE=1
LG_LIGNE=202
until [ "$NUM_LIGNE" = "$NB_LIGNES" ]
do
NB_CAR=`head -$NUM_LIGNE $2 |tail -1|wc -c`
NB_ESP=`expr $LG_LIGNE - $NB_CAR`
IND=1
STRI="fin "
until [ "$IND" = "$NB_ESP" ]
do
STRI=" $STRI"
IND=`expr $IND + 1`
done
sed -e "$NUM_LIGNE s/.*/&$STRI/" $2 >> /share/PN4000/Part.txt
NUM_LIGNE=`expr $NUM_LIGNE + 1`
done
Mon problème c'est que la commande sed recopie le fichier au complet à chaque passage.
Comment faire pour ne modifier que la ligne courante?
Merci pour vos réponses!
J'ai un fichier du type:
LEC000315L 180874 KLC0171816G_1 10
LAB69020 178968 LAB69020_1 10
LAB69079 179970 LAB69079_1 12
LAB69212 179971 LAB69212_1 24
NOVN32928N 176794 ZNOVN32928_1 98
J'aimerais ajouter le mot "FIN" à la fin de chacune des ligne à la même position.
pour obtenir ceci:
LEC000315L 180874 KLC0171816G_1 10 FIN
LAB69020 178968 LAB69020_1 10 FIN
LAB69079 179970 LAB69079_1 12 FIN
LAB69212 179971 LAB69212_1 24 FIN
NOVN32928N 176794 ZNOVN32928_1 98 FIN
Voici mon script:
NB_LIGNES=`awk 'END {print NR}' $2`
NUM_LIGNE=1
LG_LIGNE=202
until [ "$NUM_LIGNE" = "$NB_LIGNES" ]
do
NB_CAR=`head -$NUM_LIGNE $2 |tail -1|wc -c`
NB_ESP=`expr $LG_LIGNE - $NB_CAR`
IND=1
STRI="fin "
until [ "$IND" = "$NB_ESP" ]
do
STRI=" $STRI"
IND=`expr $IND + 1`
done
sed -e "$NUM_LIGNE s/.*/&$STRI/" $2 >> /share/PN4000/Part.txt
NUM_LIGNE=`expr $NUM_LIGNE + 1`
done
Mon problème c'est que la commande sed recopie le fichier au complet à chaque passage.
Comment faire pour ne modifier que la ligne courante?
Merci pour vos réponses!
A voir également:
- Ajouter caractere fin de ligne notepad++
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Telecharger notepad++ - Télécharger - Édition & Programmation
- Partage de photos en ligne - Guide
- Caractères spéciaux : comment les saisir facilement - Guide