Datenstrom an Bash-Skript

Hallo zusammen,

ich frage mich, ob es möglich ist, innerhalb eines Bash-Skripts Daten zu verwenden, die nicht als Parameter übergeben werden, sondern hinein-„gepipet“ werden.

z.B.
cat einedatei.txt | less

Kann ich mit einem Bash-Skript auch so etwas machen:

cat einedatei.txt | ./meinscript.sh

Falls dies nicht möglich ist, wie kann ich das ansonsten realisieren?

Vielen Dank,
Thomas

Hallo zusammen,

ich frage mich, ob es möglich ist, innerhalb eines
Bash-Skripts Daten zu verwenden, die nicht als Parameter
übergeben werden, sondern hinein-„gepipet“ werden.

z.B.
cat einedatei.txt | less

Kann ich mit einem Bash-Skript auch so etwas machen:

cat einedatei.txt | ./meinscript.sh

Ja.

cat hallo.txt | ./myscript.sh

while read i ; do
 echo $i
done

Stichworte STDIN / STDOUT / STDERR

Hi, vielen Dank!

Dass es so einfach ist, hätte ich nicht gedacht.
Hab ja schon die irrsinnigsten Versuche gestartet
und dachte schon, ich müsste auf C umsteigen…

Gruß,
Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo nochmals,

mir fehlt nun dazu noch das kleine i-Tüpfelchen.
Leider ist es zwingend notwendig, dass alle vorhandenen
Leerzeichen der Quelle erhalten bleiben.

Um das Ganze mal etwas anschaulicher zu machen:
Im Mozilla soll eine Seite gedruckt werden, dazu wird „Datei/Drucken“ ausgewählt. Als Druckbefehl wird nun nicht „lpr …“ angegeben, sondern mein eigenes Skript. Mittels „read“ in diesem Skript kann ich nun den PostScript-Inhalt in eine Datei schreiben.
Leider fehlen mir dann allerdings z.B. führende Leerzeichen in den Zeilen.

Hast Du eventuell noch einen Rat für mich?

cat einedatei.txt | ./meinscript.sh

Ja.

cat hallo.txt | ./myscript.sh

while read i ; do
echo $i
done

Stichworte STDIN / STDOUT / STDERR

Hat sich erledigt, danke trotzdem.

IFS=""

ist mein Freund. :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]