staging.inyokaproject.org

Text automatisch in eine mit "nano" geöffnete Datei einfügen

Status: Ungelöst | Ubuntu-Version: Server 20.04 (Focal Fossa)
Antworten |

heusmich

Anmeldungsdatum:
30. Mai 2021

Beiträge: Zähle...

Hallo zusammen,

ich administriere mehrere Gameserver auf einem dedicated Root-Server und habe verschiedene Installationsscripte in Verwendung. In einem dieser Scripte lasse ich automatisch einen Ordner erstellen und darin auch eine Datei.

Die Datei wird automatisch mit "nano" geöffnet und ich muss hier noch Text eingeben. Da der Text allerdings meistens der gleiche ist, würde ich die Texteingabe gerne automatisieren, sofern das möglich ist. Ich habe auch schon im Internet gesucht, kann aber nichts dazu finden. Evtl. suche ich aber auch nur nach den falschen Begriffen. Nachdem der Text eingegeben wurde wäre es auch nicht schlecht, wenn die Datei automatisch gespeichert und geschlossen wird.

Kann mir einer sagen, was ich in mein Script eingeben muss, um in die über "nano" geöffnete Datei automatisch Text eingeben und anschließend speichern und schließen zu lassen? Bzw. ist das überhaupt möglich?

MfG heusmich

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4453

Hm, also warum bestehst Du unbedingt auch nano?

so kannst Du einfach Text an eine vorhanden Datei anfügen:

 echo "Mein Text, den ich anfügen möchte" >> Dateiname

Bzw, wenn Du die Datei neu schreiben möchtest und nicht anfügen, dann nimm nur ein >:

 echo "Mein Text, den ich anfügen möchte" > Dateiname

Merh dazu unter Shell/Umleitungen

heusmich

(Themenstarter)

Anmeldungsdatum:
30. Mai 2021

Beiträge: Zähle...

Doc_Symbiosis schrieb:

Hm, also warum bestehst Du unbedingt auch nano?

so kannst Du einfach Text an eine vorhanden Datei anfügen:

 echo "Mein Text, den ich anfügen möchte" >> Dateiname

Bzw, wenn Du die Datei neu schreiben möchtest und nicht anfügen, dann nimm nur ein >:

 echo "Mein Text, den ich anfügen möchte" > Dateiname

Merh dazu unter Shell/Umleitungen

OK, danke schon mal. Naja ich erstelle meine Dateien normalerweise mit nano, deswegen habe ich das so geschrieben. Aber wenn es einen anderen Weg gibt, ist mir das auch recht.

Dann hätte ich jetzt noch eine Frage: Wie muss ich dann den Text eingeben, wenn sich der Text über mehrere Zeilen hinzieht? Also z.B. schaut der Text so aus:

Text1 Text2 Text3

MfG heusmich

heusmich

(Themenstarter)

Anmeldungsdatum:
30. Mai 2021

Beiträge: 12

OK, danke dir.

Könntest du mir dann noch sagen, wie ich mehrzeiligen Text eingeben kann? Für jede einzufügende Zeile einen neuen echo-Command oder geht das auch in einem Command?

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4453

Das geht z.B. so:

cat >> Dateiname.txt <<EOL
line 1 content
line 2 content
line 3 content
EOL

Lies Dir am Besten mal Shell/Bash-Skripting-Guide für Anfänger durch.

heusmich

(Themenstarter)

Anmeldungsdatum:
30. Mai 2021

Beiträge: 12

Alles klar, werde ich mir mal anschauen. Vielen Dank! 😀 👍

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4453

Geht halt auch direkt mit echo:

echo "line 1 content
line 2 content
line 3 content
" >> Dateiname.txt

Bleys

Anmeldungsdatum:
13. August 2006

Beiträge: 6172

Wenn Du die Texte in Dateien hast und anfügen möchtest geht das auch mit echo:

1
echo "$(cat file)" >> Dateiname

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17630

Bleys schrieb:

Wenn Du die Texte in Dateien hast und anfügen möchtest geht das auch mit echo:

1
echo "$(cat file)" >> Dateiname

Wieso dann nicht

1
cat file >> Dateiname

?

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Ich schmeisse mal wieder meinen Liebling printf ins Rennen 😉

1
2
3
4
uu=ubuntuusers
tld=de
topic=text-automatisch-in-eine-mit-nano-geoeffnete-d
printf "https://forum.%s.%s/topic/%s/\n" $uu $tld $topic

Bleys

Anmeldungsdatum:
13. August 2006

Beiträge: 6172

user_unknown schrieb:

Wieso dann nicht

1
cat file >> Dateiname

?

Stimmt 😉

Aber man könnte mit meinem Beispiel ja noch weiter gehen und z.B. nur Teile aus einem Dokument holen.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

Bleys schrieb:

Aber man könnte mit meinem Beispiel ja noch weiter gehen und z.B. nur Teile aus einem Dokument holen.

Auch dafür braucht man keine Command Substitution mit echo. Das ist hier einfach überflüssig.

Antworten |