[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Получение информации о файлах в rar архиве



Alexey Pechnikov wrote:
> Интересует размер файла, дата добавления в архив или дата последней
> модификации, имя файла в архиве. Для zip,7z, etc. все легко и просто -
> вывели список файлов в архве, грепнули, позвали awk и готово. Но вот
> rar архив отличился - имя файла выдает _первым_ аргументом, а не
> последним! Спрашивается, что с этим финтом делать. Думал про реверс
> строки - но потом придется как-то соединять с отдельно извлекаемыми
> именами файлов. Возможно, что из подробного листинга надо вычесть
> краткий (только имена файлов) и потом распарсить - но можно ли это
> сделать в шелле и без создания временных файлов?

sed -nre '/^-+$/,/^-+$/{s/ (.*) +([0-9]+) +[0-9]+ +[0-9]+% +([0-9]+-[0-9]+-[0-9]+) +([0-9]+:[0-9]+) +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+$/\2 \3 \4 \1/p}'

> P.S. unrar-free кириллицу в именах не понимает. Это лечится или только
> unrar-nonfree придется использовать?

Можно поиграться локалью и перекодировками. Костыль тот ещё будет. В любом случае большинство архивов rar сейчас версии 3+, поэтому unrar-nonfree неприменим.


Reply to: