Awk extraire une partie d'un fichier
Résolu/Fermé
titexe
Messages postés
55
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
16 août 2010
-
28 nov. 2006 à 10:33
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 28 nov. 2006 à 22:03
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 28 nov. 2006 à 22:03
A voir également:
- Awk extraire une partie d'un fichier
- Fichier rar - Guide
- Extraire une video youtube - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
3 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
28 nov. 2006 à 10:41
28 nov. 2006 à 10:41
Salut,
je vois que la solution que je t'ai donné ne te satisfait pas :-)), pourtant elle fait ce que tu demandes.
Voici une solution sed et awk. Merci asevere.
lami20j
je vois que la solution que je t'ai donné ne te satisfait pas :-)), pourtant elle fait ce que tu demandes.
Voici une solution sed et awk. Merci asevere.
lami20j
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
28 nov. 2006 à 20:57
28 nov. 2006 à 20:57
Salut,
sed -n '/filename/,/^\&/p' ton_fichierdevrait le faire ;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
28 nov. 2006 à 22:03
28 nov. 2006 à 22:03
Re-
Sinon pour faire ce que tu demandes là, essaie ça :
Sinon pour faire ce que tu demandes là, essaie ça :
#! /bin/bash # script_titexe.sh # On récupère dans un fichier (resultat.txt) le paragraphe contenu entre #+ "filename" et un "&" en début de ligne sed -n '/filename/,/^\&/p' fich.txt > resultat.txt # On récupère le nom du fichier dans une variable var=$(grep filename resultat.txt | awk -F= '{ print $2 }'|sed 's/\"//'g) # On efface la 1ère ligne sed -i '/filename/d' resultat.txt # On insère en début de fichier le nom du fichier suivi d'un saut de ligne #+ puis d'un autre et enfin sur la 3 ème ligne du mot "Contenu =" sed -i 1i"Nom du fichier = $var\n\nContenu =" resultat.txt;-))
28 nov. 2006 à 11:07
le probléme c'est que je suis pas fort en perl, tout a fait une solution sed et awk peut faire la faire,
le probléme c'est que dans mon fichier j'ai qu'un seul délimiteur c'est "filename" et le deuxiéme n'est pas difinie ca doit etre toujours la ligne qui commence par &...
comment je ferais dans ce cas la ?
Merci pour ton aide,