OVH Cloud OVH Cloud

probleme avec gzip

5 réponses
Avatar
amorit
Bonjour,
Je cherche la soluce du pb suivant, en vain (essay=E9 cut et sed...)
Lorsque je fais un gzip -l --quiet fichier.gz, j'obtient une liste de
ce type :
46675 82115 43.1%
/home/editions/editions/prt20050830121009B
(ci dessus sur une ligne)

Comment faire pour n'extraire que le nom du fichier ? En effet, j'en ai
besoin pour ensuite extraire les fichiers, les envoyer sur une
imprimante, puis supprimer le(s) fichier(s) .gz et leur contenu.

Dans l'exemple ci-dessus, je souhaiterai obtenir de mon gzip :
/home/editions/editions/prt20050830121009B

Je n'arrive pas avec cut =E0 indiquer un s=E9parateur "un ou plusieurs
espaces", et ni avec sed =E0 "couper tout ce qui pr=E9c=E8de "/" sur
chaque ligne".

Des id=E9es ?....

5 réponses

Avatar
none
amorit wrote:
Bonjour,
Je cherche la soluce du pb suivant, en vain (essayé cut et sed...)
Lorsque je fais un gzip -l --quiet fichier.gz, j'obtient une liste de
ce type :
46675 82115 43.1%
/home/editions/editions/prt20050830121009B
(ci dessus sur une ligne)

Comment faire pour n'extraire que le nom du fichier ? En effet, j'en ai
besoin pour ensuite extraire les fichiers, les envoyer sur une
imprimante, puis supprimer le(s) fichier(s) .gz et leur contenu.

Dans l'exemple ci-dessus, je souhaiterai obtenir de mon gzip :
/home/editions/editions/prt20050830121009B

Je n'arrive pas avec cut à indiquer un séparateur "un ou plusieurs
espaces", et ni avec sed à "couper tout ce qui précède "/" sur
chaque ligne".

Des idées ?....



et
gzip --decompress ton.gzip
donne quoi ?

Avatar
amorit
Il me decompresse le fichier mais sans aucun message et le .gz
disparait. Si j'ajoute -v (verbose) j'ai alors une ligne de type :
prt20050830121009B.gz: 42.3% -- replaced with prt20050830121009B
Je retombe dans le même problème pour récupérer le nom du fichier.
Par contre, s'il gère l'opération de décompression et efface le
fichier en même temps, peut-être puis-je rediriger le fichier vers
l'imprimante en une seule commande ?
Avatar
william
On Tue, 30 Aug 2005 05:35:43 -0700, amorit wrote:

Bonjour,
Je cherche la soluce du pb suivant, en vain (essayé cut et sed...)
Lorsque je fais un gzip -l --quiet fichier.gz, j'obtient une liste de
ce type :
46675 82115 43.1%
/home/editions/editions/prt20050830121009B
(ci dessus sur une ligne)


gzip -l --quiet fichier.gz | awk '{print $4}'

Je n'arrive pas avec cut à indiquer un séparateur "un ou plusieurs
espaces", et ni avec sed à "couper tout ce qui précède "/" sur
chaque ligne".


basename `gzip -l --quiet fichier.gz | awk '{print $4}'`



--
William.

Avatar
TiChou
Dans le message <news:,
*amorit* tapota sur f.c.o.l.configuration :

Bonjour,


Bonjour,

Je cherche la soluce du pb suivant, en vain (essayé cut et sed...)
Lorsque je fais un gzip -l --quiet fichier.gz, j'obtient une liste de
ce type :
46675 82115 43.1%
/home/editions/editions/prt20050830121009B
(ci dessus sur une ligne)

Comment faire pour n'extraire que le nom du fichier ?


Avec 'cut' :

$ gzip -lq fichier.gz | cut -b48-

Avec 'sed' :

$ gzip -lq fichier.gz | sed 's/( *[^ ]*){3} //g'

$ gzip -lq fichier.gz | sed 's/.{47}//g'

On peut aussi utiliser awk qui est plus pratique quand le séparateur de
champ est de longueur variable.

En effet, j'en ai besoin pour ensuite extraire les fichiers, les envoyer
sur une imprimante, puis supprimer le(s) fichier(s) .gz et leur contenu.


Il ne serait pas plus simple d'envoyer directement le contenu du fichier à
l'imprimante sans passer par cette étape de décompression dans un fichier,
envoi du fichier, suppression du fichier ?

$ gzip --decompress --stdout fichier.gz | commande_impression

--
TiChou

Avatar
amorit
ça marche parfaitement !... inutile en effet dans ces conditions de se
compliquer la vie
Merci aussi pour sed et cut pour ma culture personnelle (j'ai du mal
avec les expressions régulières et j'avoue que le 's/( *[^ ]*){3}
//g'.... j'ai pas tout compris, mais promis, je vais essayer
encore merci