我经常希望在当前目录中对最近的文件执行某个功能。本质上,我想要一个更通用的方法来使用vi打开最近修改的文件。
我可以在zsh中编写全局别名,完成我需要的部分:
现在我可以执行类似这样的东西。
我将看到当前目录中最近文件的内容。或者我可以输入
是否有一种方法可以修改别名定义,使其输出最后一个文件(到STDERR?),然后像上面的
我可以在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技能不足以详细解释。
zsh
允许使用更高效的命令print *(.Om[-1])
替换管道。这也更安全,因为它避免了解析带有换行符的文件名的ls
输出的问题。 - chepneralias -g lafi ='$(print *(.om [1])| tee ...)'
。 - chepner