我经常想对当前目录中的最新文件执行一个函数。本质上我想要一个更通用的方法版本 open last modified file in the directory using 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 kung fu 没有足够详细地涵盖这一点。
最佳答案
也许
alias -g lafi='`ls -rt | tail -n 1 | tee >({ printf "last file: "; cat; } >&2)`'
我认为 zsh 有这样的进程替换。
关于shell - 当前目录中最后一个文件的全局别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22742299/