# [solved] emerge +piping

## Ezekeel

Hallo,

vorne weg: 

Ich habe in den Faqs, im Forum und auch mit Google gesucht. Nun das Problem, bzw. die Frage. Und zwar würde ich gerne in Erfahrung bringen ob es denn möglich ist emerge mit pipes zu benutzen. Wenn ich mal mein Problem erläutern dürfte: 

Ich habe schon seit geraumer Zeit kde-3.3.* und kde-3.2.* installiert. Da ich mir nun sicher bin, dass ich kde-3.2 nicht mehr benötige habe ich mich dazu entschlossen es zu entfernen. Ich möchte aber weder emerge --prune noch emerge depclean verwenden (nichts liegt mir ferner). Deshalb bin ich auf die Idee gekomme, das ganze mit pipes und qpkg zu verwenden. 

```
qpkg kde -d -v |grep 3.2
```

liefert mir die dateien die ich deinstallieren möchte:

```

kde-base/kde-3.2.3

kde-base/kde-i18n-3.2.3

kde-base/kdeaccessibility-3.2.3

kde-base/kdeaddons-3.2.3

kde-base/kdeadmin-3.2.3

kde-base/kdeartwork-3.2.3

kde-base/kdebase-3.2.3-r1

kde-base/kdeedu-3.2.3

kde-base/kdegames-3.2.3

kde-base/kdegraphics-3.2.3

kde-base/kdelibs-3.2.3-r2

kde-base/kdemultimedia-3.2.3

kde-base/kdenetwork-3.2.3-r1

kde-base/kdepim-3.2.3

kde-base/kdetoys-3.2.3

kde-base/kdeutils-3.2.3

```

wenn ich nun aber noch eine pipe mit emerge anhänge kommt folgendes dabei zu stande:

```
qpkg kde -d -v |grep 3.2 | emerge -C

emerge unmerge can only be used with specific package names, not with world or

system targets.

```

entschuldigt bitte, aber ich bin sicher kein Profi was das piping aneblangt, aber auch bei dem befehl den jemand hier im forum gepostet hat mit 

```
qpkg -I -nc -v kde* | grep kde | grep 3.2.3 | xargs emerge -pC
```

 erhalte ich die selbe Meldung. Das posting ist allerdings auch schon etwas älter und so frage ich mich: 

Unterstützt denn portage kein piping mehr oder wie kommt es, dass weder mein befehl noch der eines anderen der offensichtlich laut des postings schon mal funktioniert hat nicht (mehr) funktionieren? 

Klar ich könnte auch alles von Hand deinstallieren, doch dann wäre der Lerneffekt weg - und sehts mal so wenn das Problem gelöst ist wäre es ein super Tipp für die Tip des Tages sektion! 

Danke schonmal im Voraus!

----------

## Rafje

So etwas...?

```
qpkg kde -d -v -nc | grep 3.2 | while read p; do

  emerge -pC =${p}

done
```

R.

Edit: warum -d (--dups) und nicht -I (--installed)?

```
qpkg kde -I -v -nc | grep 3.2 | while read p; do

  emerge -pC =${p}

done
```

----------

## Ezekeel

ja genau bzw. nicht genau sowas. das ganze ist ja mehr ein kleines bash script das piping benutzt als piping  an sich! Ich habs jetzt zwar so benutzt, aber gibt es denn keine möglichkeit ohne bash programmierung das ganze direkt an emerge weiterzuleiten? 

Ich werde dennoch mal den Thread auf solved setzen!! 

Vielen vielen Dank dafür -> regt mich doch wieder dazu an mich endlich mal in die Bash Programmierung einzulesen!!

----------

## Rafje

Wenn du das auf diese Weise schreibt sieht es weniger wie ein bash Script aus.  :Smile: 

```
qpkg kde -I -v -nc | grep 3.2 | while read p; do emerge -pC =${p}; done
```

----------

## Ezekeel

da steht aber "while" und "=$(p)" usw. drin -> das meine ich!  :Smile: 

btw: Kannst du mir ein Buch für bash programmierung empfehlen oder hast du dir das alles aus dem Internet zusammengelesen?!? Selflinux.org hat ja auch ein paar Tipps - mehr allerdings auch leider nicht!

----------

## Rafje

Vor einer langen Zeit, als, Oberteilindexe war zu schreiben ein Teil meines Jobs, wir benutzte ein sehr nettes Buch in unserer Mannschaft. Wenn ich mich gut erinnere, war es dieses: "Learning the Korn Shell", http://www.amazon.com/exec/obidos/tg/detail/-/1565920546/102-8188368-7172946

Das Korn shell ist das Bash shell sehr ähnlich.

(Traurig, wenn mein Deutsch schrecklich ist, aber I don't Deutsches sprechen, also ich verwendete das Babelfish.)  :Very Happy:   :Laughing:  Sieht ja lächerlich aus!

A long time ago, when writing shell scripts was part of my job, we used a very nice book in our team. If I remember well, it was this one: "Learning the Korn Shell", http://www.amazon.com/exec/obidos/tg/detail/-/1565920546/102-8188368-7172946

The Korn shell is very similar to the bash Shell.

(Sorry if my German is awful, but I don't speak German so  I used the Babelfish.)

Cheers

----------

## Earthwings

Hier ist noch die "schöne" Variante ohne while-Schleife 

```
qpkg kde -I -v -nc | grep 3.2 | xargs emerge -pC
```

edit: grep vergessen. Kann man aber auch in die qpkg-Suche einbauen

----------

## psyqil

```
emerge abs-guide
```

 :Very Happy:  Oberteilindexe? All hail Babelfish!  :Very Happy: 

----------

## Ezekeel

thanks for your answer. danke für deine Antwort!  :Smile: 

i will take a look at this book. ich werde mir mal das buch anschauen!  :Smile: 

@earthwings: 

in etwa entspricht es ja dem was ich schon weiter oben geschrieben habe. Ich kann es nun ja leider nicht mehr ausprobieren, da ich kde-3.2 schon umerged habe. Aber offensichtlich nimmt zumindest portage bei mir die normalen pipes nicht an! Ist nun nicht mehr weiters schlimm - ich dachte nur, dass das vielleicht bei irgend einem portage update rausgenommen wurde oder es sich um einen Bug handelt, da bei mir eben immer die Meldung: 

 *Quote:*   

> 
> 
> ```
> emerge unmerge can only be used with specific package names, not with world or
> 
> ...

  kam?!

----------

## Earthwings

Sonderbar, bei mir ging genau der Befehl (portage 2.0.51)

Das du xargs oben schon hattest, hab ich schlicht und einfach übersehen   :Embarassed: 

----------

