it-swarm.com.de

Kopieren Sie Text aus einer Datei in eine andere

Ich habe versucht, den gesamten Text einer Datei in eine andere zu kopieren

Der Befehl, den ich verwendet habe, ist:

echo $(cat file1) > file2

file1

text
text in other line
more text in other line

Aber mein Ergebnis hat dieses Format

file2

text text in other line
more text in other line

Warum kopiert dieser Befehl die Datei1 nicht genau so wie in Datei 2 ??

Um das Problem zu lösen, benutze einfach cp:

cp file1 file2

Damit Ihre Lösung funktioniert, schließen Sie den Bewertungssatz einfach in " " Ein, wie:

echo "$(cat file1)" > file2

Dies liegt daran, dass mit " " Die Auswertung in $() eingeschlossen wird, wodurch Zeilenumbrüche, Tabulatoren, Leerzeichen und ohne diese einfach nicht erhalten bleiben. Das Problem war also nicht cat, sondern das echo

Es reicht aus, einfach cat file1 > file2 Zu machen oder cp zu verwenden, wie Alejandro vorgeschlagen hat. Wenn Sie kreativ werden möchten, können Sie auch Folgendes tun:

  • awk '{print $0 > "file1.txt"}' file2.txt
  • python -c 'import sys; f1 = open(sys.argv[1],"r"); f2 = open(sys.argv[2],"w");[f2.write(l) for l in f1];f1.close();f2.close()' /etc/passwd file1
0