laster
Goto Top

Bash: Programm für jede Zeile einer Textdateu starten

Guten Abend,

ich erhalte aus einem Programm eine Ausgabe auf stdout, pro Zeile ein Wert.
Nun möchte ich jeden Wert als Parameter an ein weiteres Programm übergeben.
Das alles aber in einer Zeile, ohne Schleife (for, do).
Irgendwie so:
programm_liefert_werte_pro_zeile | weiteres_programm $1 

wobei $1 der Wert aus dem Programm sein soll.

Ich finde keine Möglichkeit, ihr?

vG
LS

Content-Key: 396153

Url: https://administrator.de/contentid/396153

Printed on: April 26, 2024 at 09:04 o'clock

Member: NetzwerkDude
Solution NetzwerkDude Dec 19, 2018 at 19:08:16 (UTC)
Goto Top
read kann inhalt aus stdin in variablen speichern - google mal dazu
Member: laster
laster Dec 19, 2018 at 19:20:22 (UTC)
Goto Top
also so
while read zeile; do weiteres_programm $zeile ; done < programm_liefert_werte_pro_zeile
?

gibt es noch eine andere Lösung, so wie bei find -exec ?

Ich habe gerade xargs gefunden, das ist meine Lösung face-smile

vG
LS
Member: Lochkartenstanzer
Solution Lochkartenstanzer Dec 19, 2018, updated at Dec 20, 2018 at 05:56:07 (UTC)
Goto Top
Zitat von @laster:

> programm_liefert_werte_pro_zeile | weiteres_programm $1 
> 
wobei $1 der Wert aus dem Programm sein soll.

Ich finde keine Möglichkeit, ihr?

Ganz einfach:

programm_liefert_werte_pro_zeile | xargs -l1 weiteres_programm


PS:

Habe erst nach dem posten gesehen, daß Du
xargs schon gefunden hast.