Concaténation de fichiers gz en ligne de commande
Résolu/Fermé
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
-
Modifié le 5 févr. 2018 à 16:38
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - 22 févr. 2018 à 17:11
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - 22 févr. 2018 à 17:11
A voir également:
- Concaténation de fichiers gz en ligne de commande
- Invite de commande - Guide
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Ligne de commande mac - Guide
7 réponses
Exileur
Messages postés
1475
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
16 décembre 2022
150
6 févr. 2018 à 06:47
6 févr. 2018 à 06:47
Hello,
on appel ca merger :)
Tu dois pouvoir faire un script en bash qui fait ca.
a plus dans lbus
on appel ca merger :)
Tu dois pouvoir faire un script en bash qui fait ca.
a plus dans lbus
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
22
6 févr. 2018 à 07:47
6 févr. 2018 à 07:47
Oui merci cela je me doute que l'on peut faire cela dans un script mais cela ne me donne pas plus d'info!
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 616
6 févr. 2018 à 08:31
6 févr. 2018 à 08:31
hello
ce sont des fichiers texte ?
ce sont des fichiers texte ?
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
22
Modifié le 6 févr. 2018 à 08:54
Modifié le 6 févr. 2018 à 08:54
Hello,
Ce sont des logs apache zippés en logs.gz
en fait j'ai deux serveurs apaches et je dois concaténer les logs du serveur 1 et du serveur 2.
Les logs du serveur 1 sont nommés :
access.log.1.gz
access.log.2.gz
etc..
et les fichiers du serveur 2 :
access.log.1.srv.gz
access.log.2.srv.gz
etc..
Merci
Ce sont des logs apache zippés en logs.gz
en fait j'ai deux serveurs apaches et je dois concaténer les logs du serveur 1 et du serveur 2.
Les logs du serveur 1 sont nommés :
access.log.1.gz
access.log.2.gz
etc..
et les fichiers du serveur 2 :
access.log.1.srv.gz
access.log.2.srv.gz
etc..
Merci
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 616
6 févr. 2018 à 11:38
6 févr. 2018 à 11:38
comment doit s'appeller le fichier de destination ?
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 616
6 févr. 2018 à 12:27
6 févr. 2018 à 12:27
en appellant la destination access_new.log.*.gz
les fichiers originaux ne sont pas modifiés
shopt -s extglob
for f in access.log.+([0-9]).gz; do gzip -cd $f ${f/.gz/.srv.gz} | gzip -c > ${f/./_new.}; done
les fichiers originaux ne sont pas modifiés
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
22
6 févr. 2018 à 12:35
6 févr. 2018 à 12:35
Pour chaque concaténation de deux fichiers, il doit s'appeller : acces.log.1.merged.gz par exemple donc :
acces.log.1.merged.gz
acces.log.2.merged.gz
etc..
acces.log.1.merged.gz
acces.log.2.merged.gz
etc..
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 616
6 févr. 2018 à 12:55
6 févr. 2018 à 12:55
shopt -s extglob
for f in access.log.+([0-9]).gz; do gzip -cd $f ${f/.gz/.srv.gz} | gzip -c > ${f/.gz/.merged.gz}; done
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
22
6 févr. 2018 à 14:16
6 févr. 2018 à 14:16
Merci dubcek comme d'hab tu m'as sauvé!
J'ai parcouru et compris ta commande qui sincèrement est trop complexe pour moi. De plus je ne connaissais pas la commande shopt.
J'ai parcouru et compris ta commande qui sincèrement est trop complexe pour moi. De plus je ne connaissais pas la commande shopt.
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 616
6 févr. 2018 à 15:23
6 févr. 2018 à 15:23
shopt -s extglob pour que bash traite +([0-9]) (1 ou plusieurs chiffres) dans les noms de fichier, cf : Pathname Expansion
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 616
7 févr. 2018 à 07:47
7 févr. 2018 à 07:47
il n'y a pas besoin de décompresser pour concaténer, ceci suffit
shopt -s extglob
for f in access.log.+([0-9]).gz; do cat $f ${f/.gz/.srv.gz} > ${f/.gz/.merged.gz}; done
pcsystemd
Messages postés
691
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
15 janvier 2024
22
22 févr. 2018 à 17:11
22 févr. 2018 à 17:11
Cool merci
6 févr. 2018 à 09:17
:)
--
6 févr. 2018 à 09:44
6 févr. 2018 à 11:54
ou 10 = l'id maximum de ton fichier
--