On 07/23/2014 06:19 PM, Steve Nadeau wrote:
> Bonjour à tous!
> 

Salut !

> depuis quelques jours, j'essaie de trouver une solution afin de ne
> plus le faire manuellement...
> 
> je veux extraire depuis le journal (log) de apt:
> 
> /val/log/apt/history.log
> 
> le contenu d'une commande (donc, si vous révisez le fichier de votre
> système vous comprendrez).
> 
> Pour une commande apt-get install icedtea-7-plugin:i386, dans une
> machine 64 bits, il y a un lot de fichiers i386 qui s'ajoutent à
> l'installation.
> 
> Je souhaite donc en extraire tous les fichiers d'un type, dans ce cas
> ci, seul les :i386 pour cette commande afin de pouvoir les
> désinstaller.
> 
> donc j'en suis rendu avec une commande du genre:
> 
> sed "/[^[:space:]]*.*\:i386[:space:]/! p" /var/log/apt/history.log
> 
> mais ça ne fonctionne pas, je suis dans le néant...
> si quelqu'un est bon avec SED et peut m'aider je lui en remercie à l'avance!
> 


Le script suivant devrait faire l'affaire:

#/bin/sh

sed -n '
'/^Commandline:\ apt-get\ install\ $1/' { # Match the right package
    n; # Put the "Install: ..." line in the pattern space
    s/Install: //; # Remove "Install: "
    s/, /\
/p; # Split the lines and print them
}' /var/log/apt/history.log | grep ":i386" # Only show i386 packages

Il faut l'appeler en lui passant le nom du paquet qui t'intéresse, par
exemple:

./script.sh icedtea-7-plugin:i386


Cyril.

-- 
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte

Répondre à