# Traitement sur un fichier texte (liste de paquets)

**URL:** <https://www.debian-fr.org/t/traitement-sur-un-fichier-texte-liste-de-paquets/15593>\
**Category:** Pause Café\
**Created:** [Février 20, 2016, 6:10 UTC](https://www.debian-fr.org/t/traitement-sur-un-fichier-texte-liste-de-paquets/15593 "2016-02-20T18:10:50Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![barbak](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/49beb7/32.png) [@barbak](https://www.debian-fr.org/u/barbak)\
**Post date:** [Février 20, 2016, 6:10 UTC](https://www.debian-fr.org/t/traitement-sur-un-fichier-texte-liste-de-paquets/15593/1 "2016-02-20T18:10:50Z")

</div>

Salut tout le monde,

Je cherche un moyen de traiter automatiquement un fichier contenant une liste de paquets. Cette liste se présente sous la forme :

`a2ps
aalib1
aalib-bin
abakus
abcde
abiword-common
abiword-gnome
abiword-help
abook
abs-guide
acct
ace-of-penguins
acl
aclock.app
acpi
acpid
acpidump
acpi-support
acpi-support-base
acpitool`

Je voudrais en fait supprimer du fichier les paquets dépendants d’un autre présent également dans cette même liste, si possible en tenant compte des paquets suggérés, recommandés et des meta-packages ou non.

J’ai pas mal cherché sur Google, divers sites, et ce forum mais je n’ai rien trouvé…

Si quelqu’un connais un utilitaire ou un script qui pourrait convenir ça m’aiderai pas mal (le fichier fait plus de 6.000 lignes ![:smt005](https://www.debian-fr.org/uploads/default/original/1X/cdd45e7dd754015ac5291329b843a2851a0d4fe8.gif) )  
Merci  
 ![:smt006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif)

---

<div class="post-metadata">

**Author:** ![Ludo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ludo/32/3426_2.png) [@Ludo](https://www.debian-fr.org/u/Ludo)\
**Post date:** [Février 20, 2016, 6:10 UTC](https://www.debian-fr.org/t/traitement-sur-un-fichier-texte-liste-de-paquets/15593/2 "2016-02-20T18:10:50Z")

</div>

Salut,

Avec un for sur ta liste et dpkg -i nom\_paquet --simulate, il doit y avoir moyen de scripter pour que seul les paquets qui ne dépendent de rien soit lister. ou l’inverse 😉

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 6:10 UTC](https://www.debian-fr.org/t/traitement-sur-un-fichier-texte-liste-de-paquets/15593/3 "2016-02-20T18:10:50Z")

</div>

pour faire du sérieux en perl, je regarderais du coté de libapt-pkg-perl avec [quote]man AptPkg[/quote]

---

<div class="post-metadata">

**Author:** ![barbak](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/49beb7/32.png) [@barbak](https://www.debian-fr.org/u/barbak)\
**Post date:** [Février 20, 2016, 6:10 UTC](https://www.debian-fr.org/t/traitement-sur-un-fichier-texte-liste-de-paquets/15593/4 "2016-02-20T18:10:52Z")

</div>

Merci à vous deux pour vos pistes 😉  
Il ne me reste plus qu’à me mettre sérieusement à étudier les scripts ainsi que le Perl, ma connaissance dans ce domaine s’approchant du zéro absolu ![:smt005](https://www.debian-fr.org/uploads/default/original/1X/cdd45e7dd754015ac5291329b843a2851a0d4fe8.gif)  
Sinon en continuant mes recherches je suis tombé par hasard sur “apt-rdepends” qui analyse récursivement les dépendances d’un paquet donné.  
Je m’en vais donc continuer mes recherches et étudier un peu vos pistes.  
N’empêche que si quelqu’un connaît quelque chose de déjà tout fait je suis preneur :smt003

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 6:11 UTC](https://www.debian-fr.org/t/traitement-sur-un-fichier-texte-liste-de-paquets/15593/5 "2016-02-20T18:11:00Z")

</div>

> [@](#):
>
> Il ne me reste plus qu’à me mettre sérieusement à étudier les scripts ainsi que le Perl, ma connaissance dans ce domaine s’approchant du zéro absolu ![:smt005](https://www.debian-fr.org/uploads/default/original/1X/cdd45e7dd754015ac5291329b843a2851a0d4fe8.gif)

Possible aussi en python 😃

(oui matt c’est juste pour toi 😉 )

---

<div class="post-metadata">

**Author:** ![barbak](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/49beb7/32.png) [@barbak](https://www.debian-fr.org/u/barbak)\
**Post date:** [Février 20, 2016, 6:11 UTC](https://www.debian-fr.org/t/traitement-sur-un-fichier-texte-liste-de-paquets/15593/6 "2016-02-20T18:11:03Z")

</div>

Bon j’ai commencé à me documenter un peu sur Perl, eh ben c’est pas gagné ^^  
Mon script se résume pour l’instant à :

```auto

```

j’ai quand même mis quelques lignes de commentaires pour l’étoffer un peu plus 😆  
Pour l’instant je suis en train de potasser un peu les cours de Perl du site [developpez.com](http://developpez.com).  
Pour le Python, je verrai plus tard si jamais je m’en sors pas avec Perl… J’ai déjà du mal à piger le truc, alors si en plus je m’éparpille partout :smt003

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 6:11 UTC](https://www.debian-fr.org/t/traitement-sur-un-fichier-texte-liste-de-paquets/15593/7 "2016-02-20T18:11:05Z")

</div>

Tu connais d’autre langages ?  
Déjà, tu peux presque écrire du shell, ça devrait passer.  
une base pour lire ton fichier et faire une operation avec:

[code]#!/usr/bin/perl -w

open(FH,“[test.pl](http://test.pl)”) || die “Erreur $@”;  
foreach my $pkg (){  
print “le paquet est $pkg”);  
};[/code]

---

<div class="post-metadata">

**Author:** ![barbak](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/49beb7/32.png) [@barbak](https://www.debian-fr.org/u/barbak)\
**Post date:** [Février 20, 2016, 6:11 UTC](https://www.debian-fr.org/t/traitement-sur-un-fichier-texte-liste-de-paquets/15593/8 "2016-02-20T18:11:09Z")

</div>

Comme langage je connais le Français et quelques notions d’Anglais ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")  
Non je plaisante. En fait je n’ai jamais fait de programmation, même pas de scripts shell. Mais bon je comptais essayer de m’y mettre un peu, c’est l’occasion parfaite je pense 😉  
Donc si je comprend bien ton code Matt, il ouvre le fichier “test.pl” (afiche l’erreur s’il ne peux pas) et pour chaque ligne affiche “le paquet est” suivi du contenu de la ligne. C’est bien ça ?

En tout cas merci de votre aide.

---

<div class="post-metadata">

**Author:** ![barbak](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/49beb7/32.png) [@barbak](https://www.debian-fr.org/u/barbak)\
**Post date:** [Février 20, 2016, 6:12 UTC](https://www.debian-fr.org/t/traitement-sur-un-fichier-texte-liste-de-paquets/15593/9 "2016-02-20T18:12:50Z")

</div>

Bon je patauge un peu avec le Perl là… D’autant plus que au fur et à mesure que je réfléchi sur le fonctionnement du truc je me dis que ça serait pas mal de rajouter tel ou tel truc par ci, un bazar par là… 😆 De plus la doc que je trouve sur le net ne me semble pas des plus claires, ou du moins pas facilement accessible pour les débutants.  
Quelqu’un aurait-il sous le coude un tuto, une doc ou même n’importe quoi sur Perl mais accessible aux (grands) débutants ?
