Afficher de la Xième ligne à la Yème ligne

jo -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Je ne suis encore qu'un débutant en bash et je bloques sur un problème, comment afficher de la ligne X à la ligne Y d'un fichier.Je m'expliques : j'ai créé une archive de la forme :

/home/jo/Documents/projet/A:
-rw-r--r-- 1 jo jo 0 2007-12-13 18:40 .head.tmp
-rw-r--r-- 1 jo jo 29 2007-12-09 15:50 foo1 6,7
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo1~
-rw-r--r-- 1 jo jo 29 2007-12-09 15:55 foo2 9,10
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo2~
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo3
-rw-r--r-- 1 jo jo 28 2007-12-09 15:55 foo4 8,8
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo4~
&
/home/jo/Documents/projet/B:
&
/home/jo/Documents/projet/C:
-rw-r--r-- 1 jo jo 0 2007-12-06 11:29 5
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier1
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier2
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier3
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier4
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier5
&

a la suite va le contenu des fichiers


Mon problème maintenant est de la desarchiver, j'ai donc déjà commencé par recréer tout les dossiers et sous dossiers, maintenant je voudrais recréer les fichiers d'abord vide pour concatener leurs contenus par la suite.Pour cela je voudrais travailler sur chaque partie entre "&" à part, j'ai donc récupéré les numeros de ces lignes grace a la commande sed -n '/\&/=' monarchive mais je ne sais pas comment afficher le contenu entre ces lignes.
C'est pourquoi je demande votre aide, d'avance merci.
Configuration: Linux
Firefox 2.0.0.11
A voir également:

1 réponse

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

Avec "sed" c'est possible :
$ cat plop
/home/jo/Documents/projet/A:
-rw-r--r-- 1 jo jo 0 2007-12-13 18:40 .head.tmp
-rw-r--r-- 1 jo jo 29 2007-12-09 15:50 foo1 6,7
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo1~
-rw-r--r-- 1 jo jo 29 2007-12-09 15:55 foo2 9,10
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo2~
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo3
-rw-r--r-- 1 jo jo 28 2007-12-09 15:55 foo4 8,8
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo4~
&
/home/jo/Documents/projet/B:
&
/home/jo/Documents/projet/C:
-rw-r--r-- 1 jo jo 0 2007-12-06 11:29 5
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier1
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier2
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier3
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier4
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier5
&

$ sed -n '/&/=' plop
10
12
20

$ sed -n '1,10 {1b;10b;p}' plop    # Récupération 1ère partie
-rw-r--r-- 1 jo jo 0 2007-12-13 18:40 .head.tmp
-rw-r--r-- 1 jo jo 29 2007-12-09 15:50 foo1 6,7
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo1~
-rw-r--r-- 1 jo jo 29 2007-12-09 15:55 foo2 9,10
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo2~
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo3
-rw-r--r-- 1 jo jo 28 2007-12-09 15:55 foo4 8,8
-rw-r--r-- 1 jo jo 0 2007-12-06 10:21 foo4~

$ sed -n '10,12 {10b;12b;p}' plop    # Récupération 2ème partie
/home/jo/Documents/projet/B:

$ sed -n '12,20 {12b;20b;p}' plop    # Récupération 3ème partie
/home/jo/Documents/projet/C:
-rw-r--r-- 1 jo jo 0 2007-12-06 11:29 5
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier1
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier2
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier3
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier4
-rw-r--r-- 1 jo jo 0 2007-12-06 11:30 fichier5

$
;-))
0