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-ID: 396153

Url: https://administrator.de/forum/bash-programm-fuer-jede-zeile-einer-textdateu-starten-396153.html

Ausgedruckt am: 25.12.2024 um 02:12 Uhr

NetzwerkDude
Lösung NetzwerkDude 19.12.2018 um 20:08:16 Uhr
Goto Top
read kann inhalt aus stdin in variablen speichern - google mal dazu
laster
laster 19.12.2018 um 20:20:22 Uhr
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
Lochkartenstanzer
Lösung Lochkartenstanzer 19.12.2018, aktualisiert am 20.12.2018 um 06:56:07 Uhr
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.