Wie kann ich die Ausgabe eines Befehls an das Ende einer Textdatei anhängen?
Antworten
Zu viele Anzeigen?Zum Beispiel enthält Ihre Datei :
1. mangesh@001:~$ cat output.txt
1
2
EOF
wenn Sie am Ende der Datei anhängen wollen, dann ---->Leerzeichen zwischen 'Text' >> 'Dateiname' nicht vergessen
2. mangesh@001:~$ echo somthing to append >> output.txt|cat output.txt
1
2
EOF
somthing to append
Und zum Überschreiben des Inhalts der Datei :
3. mangesh@001:~$ echo 'somthing new to write' > output.tx|cat output.tx
somthing new to write
Unter Linux können Sie Folgendes verwenden cat
Befehl zum Anhängen von Dateiinhalten an eine andere Datei
cat fileName_1.txt >> fileName_2.txt
Im vorherigen Befehl werden Sie den Inhalt von fileName_1.txt
a fileName_2.txt
.
Unter Windows OS können Sie Folgendes verwenden type
Befehl
type fileName_1.txt >> fileName_2.txt
Siehe dieses gif-Bild:
Während alle diese Antworten technisch korrekt sind, dass das Anhängen an eine Datei mit >>
ist im Allgemeinen der richtige Weg. Beachten Sie jedoch, dass die Verwendung in einer Schleife, z. B. beim Parsen/Verarbeiten einer Datei, und das Anhängen jeder Zeile an die resultierende Datei viel langsamer sein kann, als Sie erwarten würden.
Eine schnellere Alternative könnte dies sein:
stringBuilder=""
while read -r line; do
# $'\n' prints a newline so we don't have to know what special chars the string contains
stringBuilder+="$line"$'\n'
done < "myFile.txt"
echo "$stringBuilder" > $file
WARNUNG: Sie lesen alle Zeilen in den Speicher ein; der Speicher ist eine begrenzte Ressource, daher sollten Sie dies nicht bei riesigen Dateien tun.
- See previous answers
- Weitere Antworten anzeigen