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 head='head -n $(($LINES-2))'
alias tail='tail -n $(($LINES-2))'

Uwaga

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ć.

Źródła

Tags: , , , ,