Wenn Datei leer (nicht NULL) dann Datei überschreiben?

5 Antworten

Linux hat einen mächtigen Interpreter mit der "bash", welche eigentlich immer automatisch eingerichtet wird. Damit kann man -- meist in Form von Scripten = ausführbare Dateien mit Befehlen -- sogar Programme schreiben!

Ein Beispiel für dich, mit deinem Problem:

if [ -r datei1.txt ]; then wc datei1.txt; else echo nicht vorhanden; fi
touch datei1.txt
if [ -r datei1.txt ]; then wc datei1.txt; else echo nicht vorhanden; fi

Alle Befehle nacheinander ausführen.

Wenn etwas unklar ist, hilft dir "man" weiter!

Den Rest, also die Lösung solltest du aber selbst erledigen!

Hallo

am schnellsten geht das afaik mit diesem Kommando:

test -s datei1.txt || cat datei2.txt > datei1.txt

Erklärung:

  • test -s prüft ob die folgend genannte Datei leer ist oder nicht
  • || Die oder Verknüpfung sagt das das was jetzt kommt nur gestartet wird wenn ersteres nicht erfolgreich war.
  • cat datei2.txt gibt den Inhalt von datei1.txt aus
  • > die einfache Ausgabeumleitung leitet den Inhalt um in die
  • datei1.txt
  • Die danach Inhaltlich identisch ist mit datei2.txt

Linuxhase

Hallo

Wenn eine .TXT Datei leer ist (also keinen Inhalt) dann soll eine andere .TXT_old (die wiederrum Inhalt hat) die andere Datei überschreiben, aber mit dem selben Endung also nur .TXT

Das ist einfach:

#!/bin/bash

if [ -s datei1.txt ]
  then
    echo "datei1.txt hat einen Inhalt"
else
    cat datei2.txt > datei1.txt
fi
Bitte um schnelle Hilfe

Schneller hast Du es wenn Du solche Fragen in einem passenden IRC stellst.

Linuxhase

(Linux) Wie kann ich bei Linux eine .bat Datei erstellen die das Terminal öffnet und dann 3 Befehle ausführt?

...zur Frage

Viele Dateien umbenennen mit Titeln aus Textdatei?

Ich habe X Dateien, heißen alle "01.txt", "02.txt", "03.txt", usw. Nun habe ich eine Textdatei, in der diverse Titel für diese *.txt stehen. In jeder Zeile einer, also jeder Titel ist getrennt von einem Zeilenumbruch. Ich möchte nun (am besten automatisch) dass meine X Dateien umbenannt werden, und zwar mit den Titeln aus der einen Textdatei. Datei "01.txt = Titel aus Zeile 1.txt", Datei "02.txt = Titel aus Zeile 2.txt" und so weiter. Ist das machbar? Gibts da ein Programm oder bestimmte Befehle für eine Batchdatei?

...zur Frage

Gelöschter Inhalt aus .txt Date wiederherstellen Wie?

Hey. Ich habe wichtige Passwörter aus einer .txt Datei gelöscht weil ich dachte, ich brauche Sie nicht mehr aber dem ist nicht so. Gibt es einen Weg die alte .txt Datei wiederherzustellen? Oder irgendwie wieder zu bekommen?

...zur Frage

In Python mitten in einem TXT-Dokument mehrere Zeilen einfügen?

Hallo, ich habe ein Script, welches bestimmte Werte in eine .txt schreibt. Nun will ich in der 10. Zeile die Zeitdauer für das Schreiben der Werte in die Datei einfügen (Zeitdauer bestimmen, ... schon fertig und als str vorhanden). Wie kann ich nun, ohne das Nachfolgende zu überschreiben, diese Zeilen einfügen?

...zur Frage

Inhalt einer txt Datei hat sich in komische Zeichen verwandelt. Was kann ich tun?

Ich hatte auf dem Desktop eine txt. Datei gespeichtert und der Inhalt halt sich auf einmal in komische Zeichen verwandelt. Kann man darauf irgendwie wieder den ursprünglichen Text verwandeln?

...zur Frage

Arduino Roboter. IF Schleife bei Ereignis unterbrechen und andere ausführen. Wie?

Guten Tag,

habe soeben meinem Roboter auf Arduino Basis seine Bumper verpasst. Nun würde ich diese gerne mit einem simplen Programm testen, jedoch sind meine Kenntnis in Sachen programmieren nahezu null :x.

Folgendes möchte ich erreichen:

Fahre vorwärts

Bei Ereignis vom Bumper vorne links

  • fahre kurz zurück
  • drehe rechts

Sollte während der Rückwärtsfahrt ein Ereignis der Bumper hinten auslösen:

  • stoppe
  • fahre ein kleines Stück vor
  • drehe

Fahre weiter vorwärts

Bei Ereignis vom Bumper vorne rechts

  • fahre kurz zurück
  • drehe links

Sollte während der Rückwärtsfahrt ein Ereignis der Bumper hinten auslösen:

  • stoppe
  • fahre ein kleines Stück vor
  • drehe

Fahre weiter vorwärts

Ich hoffe es ist verständlich was ich erreichen möchte.^^ Probleme bereitet mir hier die IF Anweisung zu unterbrechen und etwas anderes auszuführen. Ich weiß auch nicht wonach ich via Suchmaschine suchen soll. Ein kleiner Tip in die richtige Richtung würde mir schon weiterhelfen. :-)

Anbei habe ich ein Screenshoot meines bisherigen Programms gehängt.

...zur Frage

Was möchtest Du wissen?