当前目录中最后一个文件的全局别名



我经常想对当前目录中最近的文件执行一个函数。从本质上讲,我想要一个更通用的版本,使用vi打开目录中最后修改的文件。

我能够在zsh中编写一个全局别名,它完成了我需要的部分内容:

alias -g lafi='`ls -rt|tail -n 1`'

现在我可以执行

cat lafi

,我将看到当前目录中最新文件的内容。或者我可以发出echo lafi来找出最后一个文件是什么(或者我甚至可以说ls -rt|tail -n 1)。

是否有一种方法可以修改别名定义,使其输出最后一个文件(到STDERR?),然后将其传递给上面的lafi,以便在命令行中进一步使用?所以对于上面的cat lafi,我希望得到这个输出。

last file: <name of last-file>
<content of last-file>

我怀疑这涉及到tee,但我的shell功夫没有涵盖足够的细节

可能

alias -g lafi='`ls -rt | tail -n 1 | tee >({ printf "last file: "; cat; } >&2)`'

我想zsh有这样的进程替换

最新更新