Beim Zusammenführen verschiedener Dateiinhalte in einem Shell-Skript wird eine leere Zeile angezeigt

285
user

Ich habe ein Shell-Skript geschrieben, um den Inhalt der verschiedenen Dateien zusammenzuführen. Ich habe die Verzeichnisse f1, f2, d1, d2 und die darunter befindlichen Dateien erstellt. Ich muss den gesamten Inhalt der Dateien zusammenführen: comand is

find /home/ah5024331/f1 /home/ah5024331/f2 /home/ah5024331/d1 /home/ah5024331/d2 /home/ah5024331/f1 /home/ah5024331/f2 /home/ah5024331/d2 -type f -exec cat {} \; -exec echo \; > /home/ah5024331/op.txt 

Die Ausgabe ist:

--this is new text from f1 ----  --this is text from f2 ---- --this is new text from d1 --- ---this is new text from d2 --- --this is new text from f1 ----  --this is text from f2 ---- ---this is new text from d2 --- 

Nach dem Inhalt der Datei f1 wird eine leere Zeile hinzugefügt. Ich möchte zusammengefügten Inhalt ohne Leerzeile dazwischen. Was sind die Änderungen, die ich mit dem obigen Befehl machen muss? Jede Hilfe wird im Voraus geschätzt.

1

1 Antwort auf die Frage

0
sureshraju

Wenn Sie unter Linux laufen, sollte das Folgende funktionieren. Lassen Sie mich wissen, in welchem ​​Unix-Betriebssystem Sie dieses Skript ausführen.

find /home/ah5024331/f1 /home/ah5024331/f2 /home/ah5024331/d1 /home/ah5024331/d2 /home/ah5024331/f1 /home/ah5024331/f2 /home/ah5024331/d2 -type f -exec cat {} \; -exec echo -n "" \; > /home/ah5024331/op.txt