Befehl zum schreiben in Datei

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
minimo
Beiträge: 7
Registriert: 12.11.2009 18:33:16

Befehl zum schreiben in Datei

Beitrag von minimo » 12.11.2009 18:41:12

Hallo,

ich bin neu in der Linux-Welt und habe ein Debian 5 ohne grafische Oberfläche installiert. Suche nun einen Konsolenbefehl, mit dem ich z.B. einen Text in eine leere Datei einfügen kann ohne die Datei mit einem Editor zu öffnen.

Code: Alles auswählen

z.B. befehl dateiname text für die datei
MfG
Moritz

jeff84
Beiträge: 324
Registriert: 15.07.2009 13:32:36

Re: Befehl zum schreiben in Datei

Beitrag von jeff84 » 12.11.2009 18:42:07

Code: Alles auswählen

echo "Text" > Datei

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: Befehl zum schreiben in Datei

Beitrag von michaels » 12.11.2009 18:45:00

Hi,

das geht z.B. so:
Neue Datei (bubu) erstellen und hineinschreiben:

Code: Alles auswählen

cat > bubu
An vorhandene Datei anhängen:

Code: Alles auswählen

cat >> bubu
Was du dann schreibst, wird in die Datei geschrieben. Mit Strg+D beenden.

Gruß

edit:
oder wie Jeff84 es geschrieben hat...

minimo
Beiträge: 7
Registriert: 12.11.2009 18:33:16

Re: Befehl zum schreiben in Datei

Beitrag von minimo » 28.12.2009 21:41:41

Hallo,

ich habe es jetzt mit

Code: Alles auswählen

echo "Text" > Datei
gemacht, was auch ohne Probleme funktioniert. Jetzt benötige ich aber einen Zeilenumbruch inmitten des Textes. Gibt es dafür auch einen Befehl, den man dann an dieser Stelle in den Text eintippt?

Gruß Moritz

Benutzeravatar
Meillo
Moderator
Beiträge: 9279
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Befehl zum schreiben in Datei

Beitrag von Meillo » 28.12.2009 22:04:14

minimo hat geschrieben:Jetzt benötige ich aber einen Zeilenumbruch inmitten des Textes. Gibt es dafür auch einen Befehl, den man dann an dieser Stelle in den Text eintippt?

Code: Alles auswählen

echo "erste Zeile
zweite Zeile" >file
Es geht auch:

Code: Alles auswählen

echo -e "erste Zeile\nzweite Zeile" >file
(das ist aber nicht portabel)
Use ed once in a while!

DJ DHG
Beiträge: 122
Registriert: 19.10.2004 15:39:51
Kontaktdaten:

Re: Befehl zum schreiben in Datei

Beitrag von DJ DHG » 28.12.2009 22:05:02

Moin Moin!

Wenn ich dich richtig verstanden habe, sollte das wie folgt funktionieren.

Code: Alles auswählen

 echo -e "bla bla\nblabla" > test.txt
Der Schalter -e sorgt dafür das "backslash-escaped characters" (hier \n ) interpretiert werden.

Lg DJ DHG

Edit: zu langsam

minimo
Beiträge: 7
Registriert: 12.11.2009 18:33:16

Re: Befehl zum schreiben in Datei

Beitrag von minimo » 28.12.2009 22:29:12

Hallo,

ich danke euch vielmals, so schnell hätte ich niemals mit einer guten Antwort gerechnet.

Guten Rutsch

Moritz

Benutzeravatar
Meillo
Moderator
Beiträge: 9279
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Befehl zum schreiben in Datei

Beitrag von Meillo » 29.12.2009 11:30:01

minimo hat geschrieben:so schnell hätte ich niemals mit einer guten Antwort gerechnet.
Da sage ich nur: Willkommen im Debianforum. :-)
Use ed once in a while!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Befehl zum schreiben in Datei

Beitrag von rendegast » 29.12.2009 18:14:52

Jetzt benötige ich aber einen Zeilenumbruch inmitten des Textes.
Gibt es dafür auch einen Befehl, den man dann an dieser Stelle in den Text eintippt?
Alternativ zu Meillos 'echo' mit sed:

Code: Alles auswählen

sed -i 's@Stelle1Stelle2@Stelle1\nStelle2@' Datei
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Rosendoktor
Beiträge: 81
Registriert: 27.10.2009 22:32:18

Re: Befehl zum schreiben in Datei

Beitrag von Rosendoktor » 29.12.2009 20:59:55

rendegast hat geschrieben:Alternativ zu Meillos 'echo' mit sed:

Code: Alles auswählen

sed -i 's@Stelle1Stelle2@Stelle1\nStelle2@' Datei
Hm, kennst Du auch einen sed Ausdruck der mir eben mal lecker Spaghetti Bolognese kocht?
:mrgreen:

joomart
Beiträge: 112
Registriert: 21.01.2003 14:38:17
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: Bayern
Kontaktdaten:

Re: Befehl zum schreiben in Datei

Beitrag von joomart » 29.12.2009 23:17:28

Übrigens gibt es für die Konsole auch Editoren. Ein relativ leicht zu bedienender Editor ist nano.
Und wenn wir schon bei Konsolen-Programmen sind: Als Dateimanager bietet sich vfu an.

Installation als ROOT (nano ist bereits installiert, also hier nur vfu):
apt-get install vfu
Ciao, Joo
------
zu meinen Debianpaketen: http://www.joonet.de/debian/

chrisbra
Beiträge: 122
Registriert: 19.10.2005 09:36:09
Wohnort: Sachsen-Anhalt
Kontaktdaten:

Re: Befehl zum schreiben in Datei

Beitrag von chrisbra » 31.12.2009 17:46:33

rendegast hat geschrieben:
Jetzt benötige ich aber einen Zeilenumbruch inmitten des Textes.
Gibt es dafür auch einen Befehl, den man dann an dieser Stelle in den Text eintippt?
Alternativ zu Meillos 'echo' mit sed:

Code: Alles auswählen

sed -i 's@Stelle1Stelle2@Stelle1\nStelle2@' Datei
nicht portabel ;)
Meine Whishlist
:wq!

minimo
Beiträge: 7
Registriert: 12.11.2009 18:33:16

Re: Befehl zum schreiben in Datei

Beitrag von minimo » 04.01.2010 16:43:08

Hallo,

mit

Code: Alles auswählen

echo -e "text\ntext" > datei
funktioniert es bestens.
Das es Editoren gibt weiß ich auch schon, arbeite da auch meistens mit nano, da er sehr einfach zu bedinen ist.
Ich brauche aber diesen Befehl, da ich meinen Mailserver über php steuern möchte. Sprich über den Browser neue Postfächer und E-Mail-Adressen anlegen. Und dort kann ich dann schlecht mit dem Editor arbeiten. Mit diesem Befehl schreibe ich nun meine Inhalte aus der Datenbank in die Datei von Postfix.

Moritz

P.S. Ich möchte für meinen FTP-Server nun Benutzer anlegen, die auf meinen Server zugreifen können. Wenn ich

Code: Alles auswählen

useradd -b /ordner/ordner benutzer
eingebe, nimmt Debian nicht /ordner/ordner als Base-Dir sondern /ordner/ordner/benutzer. Kann man das mit einem Befehl unterbinden? Da es wieder über PHP gehen soll kann ich es nicht manuell in der Datei /etc/passwd ändern.

mampfi
Beiträge: 1986
Registriert: 16.08.2005 18:15:29
Lizenz eigener Beiträge: GNU General Public License
Wohnort: münchen

Re: Befehl zum schreiben in Datei

Beitrag von mampfi » 15.01.2010 22:50:39

Rosendoktor hat geschrieben:
rendegast hat geschrieben:Alternativ zu Meillos 'echo' mit sed:

Code: Alles auswählen

sed -i 's@Stelle1Stelle2@Stelle1\nStelle2@' Datei
Hm, kennst Du auch einen sed Ausdruck der mir eben mal lecker Spaghetti Bolognese kocht?
:mrgreen:

apt-get install spaghetti-Bolognese
materialize ;-))
Es gibt viele Foren und eine Welt ausserhalb

Antworten