2015-12-11 5 views
2

Я пытаюсь прочитать старый старый файл, но когда я использую команду ниже , она не работает должным образом. Есть ли способ сделать это в одной строке?Unix: Последняя команда - Как выполнить команду sub для ввода файла?

last -f `zcat /var/log/wtmp.1.gz` 

Я хочу, чтобы иметь возможность читать файл без распаковки файла.

Длинная версия состоит в следующем:

zcat /var/log/wtmp.1.gz > /var/tmp/login 
last -f /var/tmp/login 

ответ

1

Вы не можете кормить в прошлом с помощью стандартного ввода в Баш.

# this won't work 
# zcat /var/log/wtmp.1.gz | last- 

Side Примечание: Тем не менее с ЗШ оболочки можно

last -f =(zcat /var/log/wtmp-20130827.gz) 

на основе https://unix.stackexchange.com/questions/88343/how-to-tell-the-last-command-to-read-from-stdin

+0

Вопрос не помечена 'zsh'; почему дается ответ, который требует этого? – chepner

+0

Ответа не требуется. Это просто «Вы не можете ...», в качестве примечания, которое я упомянул о zsh. Это неправильно. – kwarunek

+1

@kAlmAcetA Я вижу. Спасибо за ответ! Мне нужно что-то вроде следующего: zsh -c "last -f = (zcat /var/log/wtmp.1.gz)" – caaruiz