Dwa polecenie head
oraz tail
pozwalają na wyświetlenie odpowiednio 10 pierwszych lub ostatnich linii podanego pliku tekstowego. Przy użyciu przełącznika -n
można określić inną ilość zwracanych linii. Z reguły pracuję na terminalach, gdzie ilość która się mieści na ekranie jest sporo większa niż 10, w związku z czym wolałbym, aby polecenia te odpowiednio do tego rozmiaru się dostosowywały.
Najprościej można zrobić to przy użyciu odpowiedniego aliasu do polecenia i umieszczeniu jego definicji w pliku ~/.bashrc
:
alias tail='tail -n $(($LINES-2))'
Ważne jest umieszczenie definicji poleceń w pojedynczych cudzysłowach, dzięki temu zmienna $LINES
będzie interpretowana podczas każdego wykonania polecenia, a nie tylko podczas jego definicji (czyli będzie po zmianie rozmiaru terminala polecenie odpowiednio się dostosuje).
W powyżej definicji została wykorzystana zmienna $LINES
, która zawiera aktualną ilość widocznych linii w terminalu. Po utworzeniu tych aliasów przy każdym wywołaniu polecenia head
lub tail
zostanie odpowiednio ustawiona wartość wypisywanych linii na ekranie. Wartość ta jest pomniejszana o 2, aby starczyło miejsca na znak zachęty i w zależności od jego konfiguracji można ją zwiększyć.