Apa alasan perbedaan jumlah garis?
$ head -n 100000 ./access.log > ./data/log.sample
$ cat $_ | wc -l
1933424
bash
io-redirection
Mesin tenun
sumber
sumber
!$
lakukan apa yang Anda inginkan, tetapi tidak akan berfungsi dalam skrip IIRC.tee
perintah dalam skrip Anda.Jawaban:
$_
berkembang ke./access.log
(argumen terakhir dari perintah yang dieksekusi terakhir), bukan./data/log.sample
.Jadi, Anda sebenarnya melihat jumlah garis
./access.log
.Redirection (
>
) bukan bagian darihead
perintah seperti yang dilakukan oleh shell sebelumhead
perintah dimulai. Maka dari itu dengan$_
Anda akan mendapatkan./access.log
.Dari
man bash
:sumber