cat file1 file2
kombiniert zwei Textdateien. Wenn ich jedoch ein Trennzeichen wie ein oder zwei Zeilen dazwischen einfügen möchte ********************************
, muss ich die erste Datei öffnen und die Zeile am Ende hinzufügen oder die zweite Datei öffnen und die Zeile oben einfügen und dann ausführen der cat
Befehl? Kann man dazu einfach einen Befehl ausführen?
16
echo '**********************' |cat file - file2
echo
immer.printf 'no newline' | tee file1 >file2; printf 'no newline' | cat file1 - file2
...<(echo -n '****')
das Echo der Newline unterdrücken.cat
Zeigt nur eine an, wenn die Datei eine hat (am Ende).Ein anderer Ansatz, ohne
cat
wie von hier gefunden zu verwenden ,Die letzte
sed 1d
Pipe ist das Entfernen der ersten Zeile, die auch das Trennzeichen enthält.Die endgültige
sed
Verwendung könnte jedoch sehr gut vermieden werden, wenn wir den von 1_CR in seinen Kommentaren vorgeschlagenen Befehl verwenden .quelle
sed
indem Sie dasawk
Muster aufFNR == 1 && NR != 1
Sie können es auch in mehrere Befehle aufteilen:
Und Sie können dies mit einem Gruppenbefehl oder einer Subshell weiterleiten oder umleiten:
Natürlich können Sie das über mehrere Zeilen schreiben, anstatt wie normal Semikolons zu verwenden. Und es ist einfach, mit einem anderen Trennzeichen usw. auf eine andere Datei zu erweitern.
quelle
Mit
paste
:quelle