Extraire des lignes dans plusieurs fichiers
Résolu
yey
-
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
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
A voir également:
- Extraire des lignes dans plusieurs fichiers
- Extraire une video youtube - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Extraire le son d'une vidéo - Guide
- Partager des photos en ligne - Guide
- Écrire plusieurs lignes dans une cellule excel mac - Guide
1 réponse
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...
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 ;-))
ca a resolu mon pb
yey