solovyov.net

zsh-lovers

· · shell, nix, software

В очередной раз искал, как сделать что-то в zsh, и наткнулся на html-версию man-странички zsh-lovers. В этот раз проглядел её (всё ещё не до конца) более внимательно и впечатлился.

Раньше не знал клёвых штук, например вот такая команда делает символические ссылки на все файлы (не трогая директории, благодаря модификатору в *(.)), заменяя в них слово “avi” на слово “other”:

for f (*(.)) ln -s $f ${f/avi/other}

А вот такие выводят файлы, менявшиеся в последнее время:

ls -l *(.m-3)  # в течении последних 3 дней
ls -l *(.mm-3) # минут
ls -l *(.mh-3) # часов
ls -l *(.mM-3) # месяцев

Или, например, порядок:

ls -l *(om[1])  # последний изменившийся объект
ls -l *(.om[1]) # или файл
ls -l *(/om[1]) # или директория

Собственно, там ещё много клёвого, включая абсолютный хардкор. :-)