SERVER:~ # zcat /var/log/wtmp-20130827.gz | last -f -
last: -: No such file or directory
SERVER:~ #
在不解压 wtmp 文件的情况下,如何使用最后一个命令查看 if 的输出?
答案1
last
不支持从管道读取。您可以用作/dev/stdin
文件名,但这有点无用,因为它仅在您首先从文件重定向时才有效。
将文件解压缩为临时文件。
wtmp=$(mktemp)
zcat /var/log/wtmp-20130827.gz >|"$wtmp"
last -f "$wtmp"
rm -f "$wtmp"
Zsh 有一种进程替换形式=(…)
,它将命令的输出放在临时文件中。
last -f =(zcat /var/log/wtmp-20130827.gz)
答案2
决不。
last(1) 未设计为能够读取 stdin。 /var/log/wtmp 或 -f xxx
它不支持“-”