1

Я пишу журнал и называю файлы в формате YYYY-MM-DD.markdown. Когда я хочу изменить что-то в последней записи, я бы хотел открыть ее с помощью ярлыка, вместо того, чтобы записывать полную дату (завершение bash не помогает вообще).

Как я могу открыть последний файл (в алфавитном порядке) в vim?

2 ответа2

2

Если это действительно последний файл:

vim $(find . -type f  -maxdepth 1 | sort | tail -n 1)

Или, чтобы быть более конкретным о файлах уценки:

vim $(find . -name "*.markdown" -maxdepth 1 | sort | tail -n 1)

Конечно, вы можете создать псевдоним для этого в вашем профиле bash.

alias newest='vim $(find . -name "*.markdown" -maxdepth 1 | sort | tail -n 1)'

Отредактировано, потому что xargs и vim вызывают серьезные проблемы после выхода из него. Нужно выяснить, почему это так. У меня также были обратные пометки и раньше, но использование $() вместо обратных кавычек - новый путь.

1
vim "$(ls -1 *.markdown | tail -n 1)"

Работает с пробелами в именах файлов и не нуждается ни в find (который по умолчанию рекурсивен, что может быть не тем, что вам нужно), ни в sort (вывод ls по умолчанию в алфавитном порядке).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .