我經常想對當前目錄中最近的文件執行一個功能。基本上我想要一個更通用的方法到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
但我的殼功夫不足夠詳細討論這一點。
'zsh'允許更高效的命令'print *(。Om [-1])'來替換管道。這也更安全,因爲它避免瞭解析包含換行符的文件名失敗的'ls'輸出。 – chepner
你可以將此工作納入答案,然後我可以接受嗎? – DrSAR
只要考慮一下Glenn的回答就可以了:'alias -g lafi ='$(print *(。om [1])| tee ...)''。 – chepner