我正在阅读 moreutils 包的手册页,但我不明白zrun
.
我的手册页与die.net 的手册页几乎相同:
ZRUN(1) ZRUN(1)
NAME
zrun - automatically uncompress arguments to command
SYNOPSIS
zrun command file.gz [...]
DESCRIPTION
Prefixing a shell command with "zrun" causes any compressed files that
are arguments of the command to be transparently uncompressed to temp
files (not pipes) and the uncompressed files fed to the command.
This is a quick way to run a command that does not itself support
compressed files, without manually uncompressing the files.
The following compression types are supported: gz bz2 Z xz lzma lzo
If zrun is linked to some name beginning with z, like zprog, and the
link is executed, this is equivalent to executing "zrun prog".
BUGS
Modifications to the uncompressed temporary file are not fed back into
the input file, so using this as a quick way to make an editor support
compressed files won't work.
AUTHOR
Copyright 2006 by Chung-chieh Shan <ccshan@post.harvard.edu>
moreutils 2010-04-28 ZRUN(1)
Run Code Online (Sandbox Code Playgroud)
你能提供一个使用示例吗?
这是一个例子;
$ cat >afile
This is a file
line2
line3
$ cp afile bfile
$ gzip afile
$ ls -l
total 8
-rw-r--r-- 1 usera usera 48 2014-02-19 13:24 afile.gz
-rw-r--r-- 1 usera usera 27 2014-02-19 13:24 bfile
Run Code Online (Sandbox Code Playgroud)
用 grep
$ grep line *
bfile:line2
bfile:line3
Run Code Online (Sandbox Code Playgroud)
与 zrun
$ zrun grep line *
/tmp/dpQH01hY51-afile:line2
/tmp/dpQH01hY51-afile:line3
bfile:line2
bfile:line3
Run Code Online (Sandbox Code Playgroud)
您可以看到grep
在压缩文件中没有看到正确的线条afile.gz
。但是在使用时zrun
,
zrun
首先解压afile.gz
到/tmp
并执行的实际命令zrun
是:
$ grep line /tmp/dpQH01hY51-afile bfile
Run Code Online (Sandbox Code Playgroud)