Supprimer une ligne et la précedente
Résolu
                    
        
     
             
                    lefreeman63
    
        
    
                    Messages postés
            
                
     
             
            139
        
            
                                    Statut
            Membre
                    
                -
                                     
dubcek Messages postés 19021 Statut Contributeur -
        dubcek Messages postés 19021 Statut Contributeur -
        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
        A voir également:         
- Supprimer une ligne et la précedente
- Supprimer rond bleu whatsapp - Guide
- Supprimer une page word - Guide
- Partager photos en ligne - Guide
- Comment supprimer une application préinstallée sur android - Guide
- Supprimer pub youtube - Accueil - Streaming
2 réponses
                        
                    Salut,
Avec sed c'est faisable ;-))
;-))
                
                
    
                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"
    
                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
Comment je peux savoir ma version de ksh?
    :/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?
 
    
    
    
    
je me heurte à une erreur:
sed -n '$p;N;/north-american-letter-white/{d};P;D;' /tmp/diff_printer.dat sed: Function $p;N;/north-american-letter-white/{d};P;D; cannot be parsed.Quelle distrib ?
Quelle version de "sed" ?
Quel format de fichier (MS-DOS ou Unix) ?
UNIX
AIX 6.1.0.0
/usr/bin/sed needs:
/usr/lib/libc.a(shr.o)
/unix
/usr/lib/libcrypt.a(shr.o)
$ cat script.sed #n $ p N /north-american-letter-white/ { d } P D $ sed -f script.sed plop ligne 1 ligne 4 ligne 7 ligne 8 $Même erreur: