Чем отличается количество строк?
$ head -n 100000 ./access.log > ./data/log.sample
$ cat $_ | wc -l
1933424
!$делает то , что вы хотели, но это не будет работать в сценарии IIRC.
teeкоманду в вашем скрипте.
Чем отличается количество строк?
$ head -n 100000 ./access.log > ./data/log.sample
$ cat $_ | wc -l
1933424
!$делает то , что вы хотели, но это не будет работать в сценарии IIRC.
teeкоманду в вашем скрипте.
Ответы:
$_расширяется до ./access.log(последний аргумент последней выполненной команды), а не ./data/log.sample.
Итак, вы на самом деле видите количество строк ./access.log.
Функция redirection ( >) не является частью headкоманды, так как она выполняется оболочкой еще до headзапуска команды. Следовательно с $_тобой получится ./access.log.
От man bash:
($ _, подчеркивание.) При запуске оболочки задайте абсолютный путь, используемый для вызова оболочки или сценария оболочки, выполняемого в том виде, как он был передан в среде или списке аргументов. Затем расширяется до последнего аргумента предыдущей команды после расширения. Также задайте полный путь, используемый для вызова каждой команды, выполненной и помещенной в среду, экспортированную в эту команду. При проверке почты этот параметр содержит имя почтового файла.