mehrere zeilen in eine Datei schreiben
Karla
- programmiertechnik
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
ich möchte mehrere Zeilen in einer Datei schreiben
In welcher Programmiersprache?
Gruss!
In welcher Programmiersprache?
Bash
Karla
cat > test_3.txt
Zeile 1
...
Zeile 10
<STRG>+DKann 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
Hallo!
cat > test_3.txt
Zeile 1
...
Zeile 10
<STRG>+DKann 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
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
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
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