Ich bin auf Ubuntu. Ich habe einige Argumente kopiert (durch Zeilenumbruch getrennt) und kann sie mit xsel so ausdrucken
$ xsel
arg1
arg2
arg3
arg4
...
Jetzt möchte ich jedes dieser Argumente für einen anderen Befehl verwenden und diesen Befehl so oft ausführen, wie es Argumente gibt.
Also habe ich es versucht
$ xsel | mycommand "constantArgument" $1
Dies wurde jedoch mycommand
nur für das erste Argument ausgeführt. Wie kann ich es für jedes Argument ausführen?
shell
command-line
xargs
arguments
Wir s
quelle
quelle
Antworten:
Sie können einfach verwenden
xargs
-n1
bedeutet ein Argument für mycommand, aber es ist nur ein Trockenlauf, es zeigt, was ausgeführt werden soll, um es zu entfernenecho
Für ständiges Argument
quelle
xsel | xargs -n1 echo mycommand -more-arg
xsel | xargs -n2 echo mycommand
zwei arg pro BefehlOder etwas ähnliches. Sie können auch
xargs
einen sehr leistungsstarken Befehl zum Bearbeiten von Befehlszeilenargumenten verwenden.quelle
Für eine kleine Anpassbarkeit:
Sie können die
-noexecute
Flagge entfernen, nachdem Sie gesehen haben, wie es funktioniert.Wenn es für Sie funktioniert, können Sie es
sh
ganz löschen und stattdessen Folgendes tun:Oder schneller:
Jeder Weg ist einfach und wird es tun.
quelle