Extraire des lignes dans plusieurs fichiers

Résolu
yey -  
 yey -
Bonjour,
j'ai un dossier contenant plusieurs fichier comme toto20070101, toto20070108 ...
et je souhaite pour chacun d'entre eux les lires et recupérer les lignes, à part les 2 1eres (header) pour les stocker dans un autre fichier.
Voila mon code,

$nom affiche bien tous les dossiers dans l'echo mais ne le comprend pas pour cat

i=0;
for nom in 'ls'
do
((i++))

$echo $nom
#index[$i]=$nom
cat < $nom > essai[$i].txt
#$i++
#j=20070101
#cat < toto$j > essai[$i].txt
#pour enlever mes 2 1e lignes
sed -i '1 d' essai[$i].txt
sed -i '1 d' essai[$i].txt

done

merci d'avance

yey
Configuration: Linux Debian
Mozilla 1.8.1.8

1 réponse

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Voici une façon de faire. Chaque fichier original est sauvegardé avec l'extension ".bak". Chaque fichier contient 5 lignes . Dans l'exemple qui suit j'ai fait un "cat" seulement sur les 2 premiers fichiers...
    jp@MDK:~/tmpfs/rep ssh$ ls
    fich1.txt  fich2.txt  fich3.txt  fich4.txt  fich5.txt
    
    jp@MDK:~/tmpfs/rep ssh$ cat fich1.txt
    Ligne1
    Ligne2
    Ligne3
    Ligne4
    Ligne5
    
    jp@MDK:~/tmpfs/rep ssh$ cat fich2.txt
    Ligne1
    Ligne2
    Ligne3
    Ligne4
    Ligne5
    
    jp@MDK:~/tmpfs/rep ssh$ sed -s -i.bak '1,2d' fich*
    
    jp@MDK:~/tmpfs/rep ssh$ ls
    fich1.txt  fich1.txt.bak  fich2.txt  fich2.txt.bak  fich3.txt  fich3.txt.bak  fich4.txt  fich4.txt.bak  fich5.txt  fich5.txt.bak
    
    jp@MDK:~/tmpfs/rep ssh$ cat fich1.txt
    Ligne3
    Ligne4
    Ligne5
    
    jp@MDK:~/tmpfs/rep ssh$ cat fich2.txt
    Ligne3
    Ligne4
    Ligne5
    
    jp@MDK:~/tmpfs/rep ssh$
    A adapter selon tes besoins ;-))
    0
    1. yey
       
      merci bien jipicy
      ca a resolu mon pb

      yey
      0