W Linuksie, jeśli wpiszesz cat *, otrzymasz coś takiego:
line1 z plik1
line2 z plik1
line1 z plik2
line1 od plik3
line2 z plik3
Line3 od file3
Chciałbym wyświetlić separator między plikami. Coś takiego:
line1 z plik1
line2 z plik1
XXXXXXXXXXXX
line1 z plik2
XXXXXXXXXXXX
line1 z plik3
line2 z plik3
Line3 od file3
Czy jest to łatwo możliwe przy użyciu jednowarstwowego pisania na pamięć?
tail -n X
pokazuje ostatnie X linii.tail -n +X
zaczyna się od linii X, zaczynając od 1 , tzn. pokazuje wszystkie linie oprócz pierwszej (X-1).cd /to/your/directory; for each in *; do cat $each; echo "XXXXXXXXXXX"; done
źródło
Lub
Lub
Używając tylko Bash (nie
cat
):Edytować:
W AWK 4:
Możesz użyć dowolnego separatora, takiego jak te z innych przykładów w tej odpowiedzi. Jeśli chcesz separator na końcu każdego pliku, zmień
BEGINFILE
naENDFILE
. Może nadal pojawiać się na początku skryptu, ponieważ jest warunkowy (zamiast sugerować kolejność wykonywania).źródło