Karla: mehrere zeilen in eine Datei schreiben

Hallo!

ich möchte mehrere Zeilen in einer Datei schreiben und kenne dafür folgende Möglichkeiten

(
  echo "Zeile 1";
  echo "Zeile 2";
  echo "Zeile 3";
  echo "Zeile 4";
  echo "Zeile 5";
  echo "Zeile 6";
  echo "Zeile 7";
  echo "Zeile 8";
  echo "Zeile 9";
  echo "Zeile 10";
) > test_1.txt

echo -e "Zeile 1\nZeile 2\nZeile 3\nZeile 4\nZeile 5\nZeile 6\nZeile 7\nZeile 8\nZeile 9\nZeile 10" > test_2.txt

cat > test_3.txt
Zeile 1
Zeile 2
Zeile 3
Zeile 4
Zeile 5
Zeile 6
Zeile 7
Zeile 8
Zeile 9
Zeile 10
<STRG>+D

Kann man die 3. Variante irgendwie in ein Skript einbauen und automatisch am Ende <STRG>+D drücken lassen?
Falls das nicht geht, wie kann ich bei der 2. Variante nach 72 Zeichen umbrechen?

Karla

  1. ich möchte mehrere Zeilen in einer Datei schreiben

    In welcher Programmiersprache?

    Gruss!

    1. In welcher Programmiersprache?

      Bash

      Karla

  2. cat > test_3.txt
    Zeile 1

    ...

    Zeile 10
    <STRG>+D

    Kann man die 3. Variante irgendwie in ein Skript einbauen und automatisch am Ende <STRG>+D drücken lassen?
    Falls das nicht geht, wie kann ich bei der 2. Variante nach 72 Zeichen umbrechen?

    Es geht gewiss irgendwie.
    Aber warum willst, du, nachdem du schon den Interpreter angeschmissen hast, dessen Funktionalität verleugnen und einen anderes Programm aufrufen? Zumal dieses Programm eventuell auf dem System nicht verfügbar ist?

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. Hallo!

      cat > test_3.txt
      Zeile 1
      ...
      Zeile 10
      <STRG>+D

      Kann man die 3. Variante irgendwie in ein Skript einbauen und automatisch am Ende <STRG>+D drücken lassen?
      Falls das nicht geht, wie kann ich bei der 2. Variante nach 72 Zeichen umbrechen?

      Es geht gewiss irgendwie.
      Aber warum willst, du, nachdem du schon den Interpreter angeschmissen hast, dessen Funktionalität verleugnen und einen anderes Programm aufrufen? Zumal dieses Programm eventuell auf dem System nicht verfügbar ist?

      wie meinst du das?

      Karla

  3. Hallo,

    ich möchte mehrere Zeilen in einer Datei schreiben und kenne dafür folgende Möglichkeiten

    bash?

    (
      echo "Zeile 1";
      echo "Zeile 10";
    ) > test_1.txt

    hat Probleme mit Anführungszeichen in Zeilen

    echo -e "Zeile 1\nZeile 2\nZeile 3\nZeile 4\nZeile 5\nZeile 6\nZeile 7\nZeile 8\nZeile 9\nZeile 10" > test_2.txt

    hat die gleichen Probleme mit nicht maskierten Anführungszeichen.

    cat > test_3.txt
    Zeile 1
    Zeile 10
    <STRG>+D

    Kann man die 3. Variante irgendwie in ein Skript einbauen und automatisch am Ende <STRG>+D drücken lassen?

    Was hast Du vor? In der dritten Variante kommt die Eingabe von STDIN.
    Warum kannst das Skript nicht gleich die Daten in die Zieldatei schreiben?

    Es gibt übrigens

    >>

    zum Anhängen an eine bestehende Datei.

    Eine mögliche Alternative wären bashs Heredocs:

    (cat <<markierungszeile_fuer_das_ende_der_eingabe
    Zeile 1
    Zeile 2
    Zeile 3
    Zeile 4
    markierungszeile_fuer_das_ende_der_eingabe
    ) > test_4.txt

    Der große Vorteil von cat in allen Varianten ist es, dass Anführungszeichen kein Problem darstellen.

    Übrigens, unter der Voraussetzung, dass es keine Anführungszeichen gibt, geht auch:

    echo "Zeile 1
    Zeile 2
    Zeile 3
    Zeile 4" > test_5.txt

    Wenn wir schon dabei sind, mit dem Backslash kannst Du eine Anweisung auf mehrere Zeilen verteilen:

    echo \ "Zeile 1
    Zeile 2
    Zeile 3
    Zeile 4" \

    test_6.txt

    Alles in allem wäre Dir vermutlich mehr geholfen, wenn Du uns Dein eigentliches Ziel mitteiltest.

    Freundliche Grüße

    Vinzenz

    1. Hallo!

      ich möchte mehrere Zeilen in einer Datei schreiben und kenne dafür folgende Möglichkeiten

      bash?

      klar :-)

      Alles in allem wäre Dir vermutlich mehr geholfen, wenn Du uns Dein eigentliches Ziel mitteiltest.

      ich will/muss das in ein Textdokument (Anleitung) schreiben, welches nur 72 Zeichen pro Zeile hat.

      Copy und Paste muss funktionieren.

      Karla

      1. Hi,

        ich will/muss das in ein Textdokument (Anleitung) schreiben, welches nur 72 Zeichen pro Zeile hat.

        Habe es zwar selber noch nie verwendet, aber vielleicht hilft dir fold weiter.

        mfG,
        steckl