Was ist der Grund, warum die Anzahl der Zeilen unterschiedlich ist?
$ head -n 100000 ./access.log > ./data/log.sample
$ cat $_ | wc -l
1933424
bash
io-redirection
Webstuhl
quelle
quelle
!$
Macht in einem interaktiven Kontext, was Sie wollten, aber es funktioniert nicht in einem Skript IIRC.tee
Befehl in Ihrem Skript verwenden.Antworten:
$_
wird erweitert auf./access.log
(letztes Argument des zuletzt ausgeführten Befehls), nicht./data/log.sample
.Sie sehen also tatsächlich die Anzahl der Zeilen von
./access.log
.Die Umleitung (
>
) ist nicht Teil deshead
Befehls, da sie von der Shell ausgeführt wird, bevor derhead
Befehl überhaupt gestartet wird. Daher mit$_
dir bekommen würde./access.log
.Von
man bash
:quelle