Supprimer une ligne et la précedente
Résolu
lefreeman63
Messages postés
139
Statut
Membre
-
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Bonjour tt le monde,
je cherche comment faire un petit morceau de script soir en perl soit en ksh.
Je cherche à parcourir un fichier vérifier chaque ligne voir si elle contient le champ "north-american-letter-white" et SI elle contient cette ligne je la supprime de mon fichier et je supprime la ligne du dessus.
Quelqu'un aurait une idée de génie, svp??? :-)
Merci d'avance
Bonjour tt le monde,
je cherche comment faire un petit morceau de script soir en perl soit en ksh.
Je cherche à parcourir un fichier vérifier chaque ligne voir si elle contient le champ "north-american-letter-white" et SI elle contient cette ligne je la supprime de mon fichier et je supprime la ligne du dessus.
Quelqu'un aurait une idée de génie, svp??? :-)
Merci d'avance
2 réponses
-
Salut,
Avec sed c'est faisable ;-))
$ cat plop ligne 1 ligne 2 ligne 3 elle contient le champ "north-american-letter-white" ligne 4 ligne 5 ligne 6 elle contient le champ "north-american-letter-white" ligne 7 ligne 8 $ sed -n '$p;N;/north-american-letter-white/{d};P;D;' plop ligne 1 ligne 4 ligne 7 ligne 8 $
;-))
-
hello
en ksh "pur"ksh ~ $ cat a8 1 2 3 north-american-letter-white 4 5 6 north-american-letter-white 7 8 north-american-letter-white ksh ~ $ ksh ~ $ t=($(<a8)) ; for((n=0;n<${#t[@]};n++));do case ${t[n+1]} in (*north-american-letter-whit*) ((n=n+1));continue ;; esac ; echo ${t[n]} ; done 1 2 4 5 7 ksh ~ $-
-
-
-
-
Merci encore de ton aide
:/tmp # ./script.ksh ./script.ksh[4]: syntax error at line 4 : '(' unexpected
:/tmp # cat script.ksh #!/bin/ksh set -x t=($(<a8)) for((n=0;n<${#t[@]};n++));do case ${t[n+1]} in (*north-american-letter-whit*) ((n++));continue ;; esac echo ${t[n]} done
Comment je peux savoir ma version de ksh?
-