В очередной раз искал, как сделать что-то в 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]) # или директория
Собственно, там ещё много клёвого, включая абсолютный хардкор. :-)