Files
如何在less/vim中打開n個最近修改的文件?
如何打開或僅打開目錄中的所有且僅 n 個(例如 5 個)最近修改的
less
文件vim
?我知道我可以使用
ls -t
從最新到最舊的輸出排序。所以我的直覺是使用ls -t | head -5 | vim
,但這不起作用,因為ls
輸出被 vim 當作原始文本而不是文件名。我該怎麼做
find
?我的問題find
是我總是使用ls
瀏覽器目錄,所以知道如何使用它——但find
我從不用於那個目的。
您真的希望 shell 選擇這些文件名,以防任何文件名包含來自 的字元
$IFS
,通常是空格、製表符或換行符。您可以通過詢問 (GNU)find
實用程序來查找文件並使用 NULL 分隔它們的文件名,然後使用 (GNU)xargs
實用程序將這些文件名分隔回 less 或 vim 來解決此問題,但我認為只使用可以更簡單的 shell本機生成文件名:zsh -c 'vim *(om[1,5])'
zsh
這使用帶有萬用字元的單個命令呼叫,vim
該萬用字元擴展為目前目錄中最近修改的五個文件。這些文件名作為單獨的參數安全地提供給vim
- 它們不會被$IFS
.