Cauda / cabeça por tela cheia em zsh

Geralmente é muito mais fácil pensar em termos de “Eu quero metade de uma tela” do que “Eu quero 30 linhas”, então escrevi alguns apelidos para envolver o tail & head neste caso.

Código

# Tail/head by screenfuls, via zsh function.
# Yay zshell~
stail
() {
# Use zsh's arithmetic substitution to do the math
# then cast to an integer to round it off
integer l
=$(($LINES * $1))
tail
-n$l $2
}
shead
() {
# Use zsh's arithmetic substitution to do the math
# then cast to an integer to round it off
integer l
=$(($LINES * $1))
head
-n$l $2
}

Uso

# half a screenful, tail
$ stail
0.5 file
# two screenfuls, head
$ shead
2 file

Ideia de https://twitter.com/seb_m/status/365185187996368896