SED: extraire 1 ligne sur 10 de fichiers

Résolu
remek -  
 Remek -
Bonjour,

J'ai une dizaine de fichiers de 10,000 lignes chacun dont je voudrais extraire une ligne sur 10.
J'ai trouve comment faire pour un fichier particulier avec sed:
sed -e '1~10p' file > newfile
Mais maintenant, comment faire pour realiser l'operation sur tous mes fichiers? Il est certainement possible avec une seule commande de creer une dizaines de nouveaux fichiers a partir des originaux.

Merci d'avance pour votre aide !

Remek

1 réponse

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

Avec l'option "-s" de "sed" :

jp@MDK:~/tmpfs ssh$ ls -1
fichier1
fichier2
fichier3
fichier4

jp@MDK:~/tmpfs ssh$ cat fich*
Ligne 1 fchier1
Ligne 2 fchier1
Ligne 3 fchier1
Ligne 4 fchier1
Ligne 5 fchier1
Ligne 6 fchier1
Ligne 7 fchier1
Ligne 8 fchier1
Ligne 9 fchier1
Ligne 10 fchier1
Ligne 1 fchier2
Ligne 2 fchier2
Ligne 3 fchier2
Ligne 4 fchier2
Ligne 5 fchier2
Ligne 6 fchier2
Ligne 7 fchier2
Ligne 8 fchier2
Ligne 9 fchier2
Ligne 10 fchier2
Ligne 1 fchier3
Ligne 2 fchier3
Ligne 3 fchier3
Ligne 4 fchier3
Ligne 5 fchier3
Ligne 6 fchier3
Ligne 7 fchier3
Ligne 8 fchier3
Ligne 9 fchier3
Ligne 10 fchier3
Ligne 1 fchier4
Ligne 2 fchier4
Ligne 3 fchier4
Ligne 4 fchier4
Ligne 5 fchier4
Ligne 6 fchier4
Ligne 7 fchier4
Ligne 8 fchier4
Ligne 9 fchier4
Ligne 10 fchier4

jp@MDK:~/tmpfs ssh$ sed -ns '1~3p' fich*
Ligne 1 fchier1
Ligne 4 fchier1
Ligne 7 fchier1
Ligne 10 fchier1
Ligne 1 fchier2
Ligne 4 fchier2
Ligne 7 fchier2
Ligne 10 fchier2
Ligne 1 fchier3
Ligne 4 fchier3
Ligne 7 fchier3
Ligne 10 fchier3
Ligne 1 fchier4
Ligne 4 fchier4
Ligne 7 fchier4
Ligne 10 fchier4

jp@MDK:~/tmpfs ssh$

;-))
0
Remek
 
Simple comme bonjour !

Merci pour le tuyau :))

Bonne journee,
Remek
0