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

2010-02-15 Пенетрантность Maxim Nikulin
Alexey Pechnikov wrote: Интересует размер файла, дата добавления в архив или дата последней модификации, имя файла в архиве. Для zip,7z, etc. все легко и просто - вывели список файлов в архве, грепнули, позвали awk и готово. Но вот rar архив отличился - имя файла выдает _первым_ аргументом, а

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

2010-02-15 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote: Имя файла - последнее в строке. Так что задача получения имени файла идентична cut -f$N- возвращает конец строки, включая поле $N cut -d ' ' -f$N- не сложнее. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble?

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

2010-02-15 Пенетрантность Alexey Pechnikov
Hello! On Monday 15 February 2010 19:11:27 Serhiy Storchaka wrote: Имя файла - последнее в строке. Так что задача получения имени файла идентична cut -f$N- возвращает конец строки, включая поле $N cut -d ' ' -f$N- не сложнее. Откуда настойчивое желание вручную всем утилитам разделитель

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

2010-02-15 Пенетрантность Alexey Pechnikov
Hello! On Monday 15 February 2010 17:35:47 Maxim Nikulin wrote: Алексей, а в чем проблемы с p7zip-rar? формат вывода вроде тот же, что и у 7z. Тогда для обработки rar-архивов придется ставить 7zfull, и ладно бы еще он свободный был. rar при желании можно и свободный поставить, если обработка

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

2010-02-15 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote: Откуда настойчивое желание вручную всем утилитам разделитель указывать? По умолчанию таб, пусть таковым и остается, зачем менять-то? OFS по умолчанию пробел, зачем менять-то? Откуда у человека, путающегося с пробелами и табуляциями в редакторе, желание использовать эту

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

2010-02-15 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote: On Monday 15 February 2010 17:35:47 Maxim Nikulin wrote: Алексей, а в чем проблемы с p7zip-rar? формат вывода вроде тот же, что и у 7z. Тогда для обработки rar-архивов придется ставить 7zfull, и ладно бы еще он свободный был. rar при желании можно и свободный

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

2010-02-15 Пенетрантность Alexey Pechnikov
Hello! On Monday 15 February 2010 19:39:01 Serhiy Storchaka wrote: Alexey Pechnikov wrote: On Monday 15 February 2010 17:35:47 Maxim Nikulin wrote: Алексей, а в чем проблемы с p7zip-rar? формат вывода вроде тот же, что и у 7z. Тогда для обработки rar-архивов придется ставить 7zfull, и

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

2010-02-15 Пенетрантность Alexey Pechnikov
Hello! On Monday 15 February 2010 21:35:27 Yuriy Kaminskiy wrote: К тому же 7z 1) более нормально поддерживает кодировки имён файлов в zip (его можно убедить их не трогать, в результате чего они поддаются автодетекту кодировки), 2) и держит чёртову уймищу более других архивов (из

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

2010-02-14 Пенетрантность Alexey Pechnikov
Hello! Интересует размер файла, дата добавления в архив или дата последней модификации, имя файла в архиве. Для zip,7z, etc. все легко и просто - вывели список файлов в архве, грепнули, позвали awk и готово. Но вот rar архив отличился - имя файла выдает _первым_ аргументом, а не последним!

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

2010-02-14 Пенетрантность Alexandr Sagadeev
Alexey Pechnikov пишет: Hello! $ unrar l A_A_Bayatev_Azbuka_zhilya._Zhilischnyiy_kodeks_ot_A_do_Ya.rar UNRAR 3.80 beta 2 freeware Copyright (c) 1993-2008 Alexander Roshal Archive A_A_Bayatev_Azbuka_zhilya._Zhilischnyiy_kodeks_ot_A_do_Ya.rar Попробуйте не l, а v. unrar v

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

2010-02-14 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote: Интересует размер файла, дата добавления в архив или дата последней модификации, имя файла в архиве. Для zip,7z, etc. все легко и просто - вывели список файлов в архве, грепнули, позвали awk и готово. Но вот rar архив отличился - имя файла выдает _первым_ аргументом, а

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

2010-02-14 Пенетрантность Serhiy Storchaka
Andrey Rahmatullin wrote: On Sun, Feb 14, 2010 at 04:32:41PM +0200, Serhiy Storchaka wrote: Можно поиграться локалью и перекодировками. Костыль тот ещё будет. В любом случае большинство архивов rar сейчас версии 3+, поэтому unrar-nonfree неприменим. *unrar-free Да. -- To UNSUBSCRIBE,

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

2010-02-14 Пенетрантность Alexey Pechnikov
Hello! On Sunday 14 February 2010 17:32:41 Serhiy Storchaka wrote: sed -nre '/^-+$/,/^-+$/{s/ (.*) +([0-9]+) +[0-9]+ +[0-9]+% +([0-9]+-[0-9]+-[0-9]+) +([0-9]+:[0-9]+) +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+$/\2 \3 \4 \1/p}' Фантастика! А если в архиве поддиректории есть, возможно в такой же формат

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

2010-02-14 Пенетрантность Alexey Pechnikov
Hello! On Sunday 14 February 2010 18:47:13 Alexey Pechnikov wrote: если в архиве поддиректории есть, возможно в такой же формат привести? Вот так получается: rar v A_Kiselev_Polkovodtsyi_i_voenachalniki_Velikoy_Otechestvennoy_voynyi.rar | awk 'BEGIN {OUT=0} /^-/ {BASE=NR; OUT=!OUT} /^[^-]/ {

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

2010-02-14 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote: Фантастика! А если в архиве поддиректории есть, возможно в такой же формат привести? sed -re '1,/^-+$/d;/^-+$/,$d' \ | while read name read size packed ratio date time attr crc meth ver do echo $size $date $time $name done Или сразу вместо echo исполнять

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

2010-02-14 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote: awk 'BEGIN {OUT=0} /^-/ {BASE=NR; OUT=!OUT} /^[^-]/ { if (OUT) { if ((NR-BASE)%2) { FILENAME=substr($0,2) } else {print $1, \t, $4, $5, \t, FILENAME } } }' Можно и так (только \t лишние). Или короче: awk '/^-+$/ {OUT+=1; next} OUT==1 {FILENAME=substr($0,2); getline;

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

2010-02-14 Пенетрантность Serhiy Storchaka
Serhiy Storchaka wrote: Можно и на чистом sed-е сделать. sed -nre '1,/^-+$/d;/^-+$/,$d;N;s/ (.*)\n +([0-9]+) +[0-9]+ +[0-9]+% +([0-9]+-[0-9]+-[0-9]+) +([0-9]+:[0-9]+) .*$/\2 \3 \4 \1/p' Но на shell или скриптовом языке общего назначения разумеется гибче будет. -- To UNSUBSCRIBE, email to

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

2010-02-14 Пенетрантность Alexey Pechnikov
Hello! On Sunday 14 February 2010 20:18:18 Serhiy Storchaka wrote: awk 'BEGIN {OUT=0} /^-/ {BASE=NR; OUT=!OUT} /^[^-]/ { if (OUT) { if ((NR-BASE)%2) { FILENAME=substr($0,2) } else {print $1, \t, $4, $5, \t, FILENAME } } }' Можно и так (только \t лишние). \t не лишние, поскольку

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

2010-02-14 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote: On Sunday 14 February 2010 20:18:18 Serhiy Storchaka wrote: Можно и так (только \t лишние). \t не лишние, поскольку результат еще надо потом разобрать на поля и в базу сложить. Я там на всякий случай зарезервировал 4 поля на усмотрение пользователя, ежели кому

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

2010-02-14 Пенетрантность Alexey Pechnikov
Hello! On Sunday 14 February 2010 21:36:55 Serhiy Storchaka wrote: Лишнее, потому что на самом деле разделитель получается \t . Это только если запятые ставить. Если уж так хочется использовать табуляцию, то OFS=\t (или конкатенация вместо запятой). Но причин предпочесть табуляцию пробелу

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

2010-02-14 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote: On Sunday 14 February 2010 21:36:55 Serhiy Storchaka wrote: Лишнее, потому что на самом деле разделитель получается \t . Это только если запятые ставить. Вот именно. Если уж так хочется использовать табуляцию, то OFS=\t (или конкатенация вместо запятой). Но

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

2010-02-14 Пенетрантность Alexey Pechnikov
Hello! On Sunday 14 February 2010 22:34:20 Serhiy Storchaka wrote: Если уж так хочется использовать табуляцию, то OFS=\t (или конкатенация вместо запятой). Но причин предпочесть табуляцию пробелу нет (не забываем, что табуляция тоже может встретится в имени). В имени _файла в