Jaki jest powód różnej liczby linii?
$ head -n 100000 ./access.log > ./data/log.sample
$ cat $_ | wc -l
1933424
bash
io-redirection
Warsztat tkacki
źródło
źródło
!$
robi to, co chciałeś, ale nie będzie działać w skrypcie IIRC.tee
polecenia w swoim skrypcie.Odpowiedzi:
$_
rozwija się do./access.log
(ostatni argument ostatnio wykonanej komendy), a nie./data/log.sample
.Więc faktycznie widzisz liczbę linii
./access.log
.Przekierowanie (
>
) nie jest częściąhead
polecenia, ponieważ jest wykonywane przez powłokę jeszcze przed uruchomieniemhead
polecenia. Stąd z$_
tobą dostaniesz./access.log
.Od
man bash
:źródło