gpaste als STDIN für youtube-dl erhalten

434
Andrew

Ich bin noch relativ neu in Linux. Ich bin seit ungefähr 2 Monaten ein Benutzer. Ich verstehe, wie man grundlegende Paspel mit grep erstellt und STDOUTin Textdateien schreibt .

Ich versuche, mit meinem Zwischenablageprogramm etwas Ähnliches zu tun. gpaste.Ich möchte den Text verwenden, mit dem ich die URL-Informationen aus meinem GUI-Browser kopiert und in einen Terminalbefehl eingefügt habe. Der nächste Schritt wäre, zu lernen, wie man diese Informationen automatisch kratzt und sie durch ähnliche Manipulationen durchführt, aber lassen Sie uns nicht überholen.

Mein Prozess, ich öffne gpaste uiund kopiere die fragliche Youtube-URL. Es wird eingegeben, gpaste history.wenn ich gpaste get [#]den richtigen Eintrag eingebe, super.

Wenn ich jedoch versuche, diese Daten in einer anderen Anwendung wie youtube-dl zu manipulieren, stoße ich auf den Fehler "gpaste ist keine erkennbare URL."

Folgendes habe ich ausprobiert:

youtube-dl | gpaste 0 gpaste get [#] | youtube-dl 

Nicht sehr kreativ, ich weiß, aber was zum Teufel ...

Irgendwelche Vorschläge?

1

1 Antwort auf die Frage

1
Nifle

Bist du sicher, dass youtube-dl von stdin lesen kann? Wenn ja, sollte dein zweites Beispiel funktionieren.

Versuchen youtube-dl $(gpaste get [#])

Um sicherzustellen, dass $ (gpaste get [#]) das zurückgibt, was Sie als Erstes erwarten könnenecho $(gpaste get [#])

das hat funktioniert! Großartig! Vielen Dank! Also, was ist der Deal mit dem $ ()? Was erzähle ich bash, wenn ich das tue? Andrew vor 9 Jahren 0
@ AndÚ `echo $ (was immer Sie möchten)` bedeutet, dass bash alles ausführt, was zwischen (..) und dem, was es zurückgibt, als Argument für echo verwendet wird. Wenn also "welche Befehle auch immer Sie möchten" * Hello AndÚ * ausgeben soll, lautet das Ergebnis "echo Hello AndÚ" Nifle vor 9 Jahren 1