Remplacer des caractéres variable dans fichie
Résolu
dom
-
zipe31 Messages postés 38797 Statut Contributeur -
zipe31 Messages postés 38797 Statut Contributeur -
Bonjour,
Sur un systeme Linux, j'ai la chaine suivante dans un fichier (sur un nombre de ligne x)
Automatique OK cr50-740392.20100719:012504-0 97 S 741
Automatique OK cr50-740392.20100719:012504-2 98 S 741
Automatique OK cr50-740392.20100719:012506-0 91 S 741
Chaque champ est séparé par une tabulation.
Je veux avoir en sortie, grâce a un script shell un fichier de ce genre :
Automatique OK 97 S 741
Automatique OK 98 S 741
Automatique OK 91 S 741
Pour résumer, je veux remplacer la chaine crxxxxxxxxxxxxxxxxxx par rien lorsque le dernier champ est égal a 741 et ne rien faire dans les autres cas.
Je débute en shell , je pense que cela est possible avec sed mais j'avoue que je patauge complétement.
D'avance merci de votre aide.
Sur un systeme Linux, j'ai la chaine suivante dans un fichier (sur un nombre de ligne x)
Automatique OK cr50-740392.20100719:012504-0 97 S 741
Automatique OK cr50-740392.20100719:012504-2 98 S 741
Automatique OK cr50-740392.20100719:012506-0 91 S 741
Chaque champ est séparé par une tabulation.
Je veux avoir en sortie, grâce a un script shell un fichier de ce genre :
Automatique OK 97 S 741
Automatique OK 98 S 741
Automatique OK 91 S 741
Pour résumer, je veux remplacer la chaine crxxxxxxxxxxxxxxxxxx par rien lorsque le dernier champ est égal a 741 et ne rien faire dans les autres cas.
Je débute en shell , je pense que cela est possible avec sed mais j'avoue que je patauge complétement.
D'avance merci de votre aide.
A voir également:
- Remplacer des caractéres variable dans fichie
- Remplacer disque dur par ssd - Guide
- Caractères spéciaux - Guide
- Remplacer dans word - Guide
- Caractères ascii - Guide
- Caracteres speciaux - Guide
1 réponse
Salut,
;-))
$ cat plop
Automatique OK cr50-740392.20100719:012504-0 97 S 741
Automatique OK cr50-740392.20100719:012504-2 98 S 741
Automatique OK cr50-740392.20100719:012506-0 91 S 744
Automatique OK cr50-740392.20100719:012504-0 97 S 741
Automatique OK cr50-740392.20100719:012504-2 98 S 742
Automatique OK cr50-740392.20100719:012506-0 91 S 741
$ awk -F'\t' 'BEGIN { OFS="\t" } {if ($6 ~ /741/) { print $1,$2,$4,$5,$6 } else { print $0 }}' plop
Automatique OK 97 S 741
Automatique OK 98 S 741
Automatique OK cr50-740392.20100719:012506-0 91 S 744
Automatique OK 97 S 741
Automatique OK cr50-740392.20100719:012504-2 98 S 742
Automatique OK 91 S 741
$
;-))
;-))