Quelle est la raison pour laquelle le nombre de lignes diffère?
$ head -n 100000 ./access.log > ./data/log.sample
$ cat $_ | wc -l
1933424
bash
io-redirection
Métier à tisser
la source
la source
!$
fait ce que vous vouliez, mais cela ne fonctionnera pas dans un script IIRC.tee
commande dans votre script.Réponses:
$_
s'étend à./access.log
(dernier argument de la dernière commande exécutée), non./data/log.sample
.Vous voyez donc le nombre de lignes de
./access.log
.La redirection (
>
) ne fait pas partie de lahead
commande car elle est effectuée par le shell avant même que lahead
commande ne soit lancée. Par conséquent,$_
vous obtiendriez./access.log
.De
man bash
:la source