it-swarm.com.de

Schreiben einer Textdatei in das Terminal mit Touch

ich habe überall gesucht und ich fühle mich hoffnungslos

meine datei ist das

 mkdir -p ~/Desktop/new_file && echo "hello\\world > ~/Desktop/new_file.txt

Ich habe es auch versucht

 hello\n world

 hello ; world

Ich versuche, ein Rücksignal für einen mehrzeiligen Satz über das Terminal an meine Hallo-Welt-Ausgabe zu senden

2
user610658

Die Manpage für echo zeigt Folgendes:

DESCRIPTION
       Echo the STRING(s) to standard output.

       -n     do not output the trailing newline

       -e     enable interpretation of backslash escapes

Dies bedeutet, dass Sie, wenn Sie eine Ausgabe mit mehreren Zeilen wünschen, einfach mit echo -e beginnen und \n für eine neue Zeile hinzufügen.

mkdir -p ~/Desktop/new_file && echo -e "hello\nworld" >> ~/Desktop/new_file/new_file.txt

Hoffe das hilft!

3
Terrance

Obwohl in Ihrem Titel touch erwähnt wird, haben Sie den Befehl mkdir verwendet. Sie haben also ein Verzeichnis mit dem Namen new_file erstellt. . Sie können keinen Text in new_file schreiben, wie er ist.

Tatsächlich muss die Zieldatei nicht in einem separaten Schritt erstellt werden: Wenn Sie die Standardausgabe eines Befehls in eine benannte Datei umleiten, wird sie automatisch erstellt, sofern sie noch nicht vorhanden ist. Sie können das (leere) new_file Verzeichnis mit rmdir ~/Desktop/new_file entfernen.


Aus den hier beschriebenen Gründen Warum ist printf besser als echo? möchten Sie möglicherweise stattdessen die Verwendung von in Betracht ziehen

printf 'Hello\nworld\n' > ~/Desktop/new_file

oder verwenden Sie ein hier Dokument

cat > ~/Desktop/new_file
Hello
world

hier können Sie mehrzeiligen Text direkt eingeben und die Eingabe mit beenden Ctrl+D wenn du fertig bist.

In beiden Fällen können Sie > durch >> ersetzen, wenn Sie den vorhandenen Inhalt der Datei anhängen möchten, anstatt ihn zu überschreiben.

2
steeldriver

Wenn ich Ihre Frage richtig verstehe, möchten Sie Folgendes verwenden:

echo "hello" > ~/Desktop/new_file.txt && echo "world" >> ~/Desktop/new_file.txt

Um die Ergebnisse zu überprüfen, verwenden Sie cat ~/Desktop/new_file.txt.

hello
world

Es gibt einen kürzeren Weg, aber ich bin selbst neu in Linux.

1