17.13. Dołączanie danych na początku pliku

Problem

Chcemy dodać na początku istniejącego pliku pewne dane, na przykład nagłówek dla posortowanego uprzednio zestawiania.

Rozwiązanie

Należy uruchomić program cat w podpowłoce.

temp_file="temp.$RANDOM$RANDOM$$"
(echo 'Statyczny nagłówek - wiersz 1.'; cat plik_danych) > $temp_file \
   && cat $temp_file > plik_danych
rm $temp_file
unset temp_file

Można również wykorzystać edytor strumieniowanych danych sed. Trzeba jednak pamiętać, że sekwencje bazujące na znaku lewego ukośnika są inaczej interpretowane w programach GNU niż w pozostałych wersjach aplikacji. Poza tym niektóre powłoki wymagają podwojenia końcowego znaku lewego ukośnika.

# Dowolny program sed, np. z systemu Solaris /usr/bin/sed
$ sed -e '1i\ > ...

Get Bash. Receptury now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.