Получение информации о файлах в rar архиве
Hello! Интересует размер файла, дата добавления в архив или дата последней модификации, имя файла в архиве. Для zip,7z, etc. все легко и просто - вывели список файлов в архве, грепнули, позвали awk и готово. Но вот rar архив отличился - имя файла выдает _первым_ аргументом, а не последним! Спрашивается, что с этим финтом делать. Думал про реверс строки - но потом придется как-то соединять с отдельно извлекаемыми именами файлов. Возможно, что из подробного листинга надо вычесть краткий (только имена файлов) и потом распарсить - но можно ли это сделать в шелле и без создания временных файлов? Если просто плюнуть на размер файлов и дату добавления, то ранжировать результат поиска не получится, а хотелось бы. $ 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 Name Size Packed Ratio Date Time Attr CRC Meth Ver --- Азбука жилья. Жилищный кодекс от А до Я.pdf 1477661 1443226 97% 07-07-08 19:21 .A. 4622E342 m5f 2.9 --- 1 1477661 1443226 97% $ unrar lb A_A_Bayatev_Azbuka_zhilya._Zhilischnyiy_kodeks_ot_A_do_Ya.rar Азбука жилья. Жилищный кодекс от А до Я.pdf В общем, вижу два потенциальных пути решения, но не уверен, что они реализуемы при заданных ограничениях, и вдобавок оба пути - закоулками. Есть ли более прямой путь? P.S. unrar-free кириллицу в именах не понимает. Это лечится или только unrar-nonfree придется использовать? Best regards, Alexey Pechnikov. http://pechnikov.tel/
Re: Получение информации о файлах в rar архиве
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 A_A_Bayatev_Azbuka_zhilya._Zhilischnyiy_kodeks_ot_A_do_Ya.rar Имя файла в архиве будет на отдельной строке, а остальное легко парсится. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4b77ffc7.8010...@mail.ru
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 неприменим. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/hl90t5$eg...@ger.gmane.org
Re: Получение информац ии о файлах в rar архиве
On Sun, Feb 14, 2010 at 04:32:41PM +0200, Serhiy Storchaka wrote: > > P.S. unrar-free кириллицу в именах не понимает. Это лечится или только > > unrar-nonfree придется использовать? > Можно поиграться локалью и перекодировками. Костыль тот ещё будет. В любом > случае большинство архивов rar сейчас версии 3+, поэтому unrar-nonfree > неприменим. *unrar-free -- WBR, wRAR (ALT Linux Team) Powered by the ALT Linux fortune(6): Напомню, что пакет sendmail был включён в дистрибутив ALM2.2 ровно на том условии, что обновлений для него выпускаться не будет, и был помещён в соответствующую компоненту [insecure] репозитория. -- ldv in devel@ signature.asc Description: Digital signature
Re: Получение информации о файлах в rar архиве
Andrey Rahmatullin wrote: > On Sun, Feb 14, 2010 at 04:32:41PM +0200, Serhiy Storchaka wrote: >> Можно поиграться локалью и перекодировками. Костыль тот ещё будет. В >> любом случае большинство архивов rar сейчас версии 3+, поэтому >> unrar-nonfree неприменим. > *unrar-free Да. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/hl91q3$gn...@ger.gmane.org
Re: Получение информации о файлах в rar архиве
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}' Фантастика! А если в архиве поддиректории есть, возможно в такой же формат привести? $ rar vt A_Kiselev_Polkovodtsyi_i_voenachalniki_Velikoy_Otechestvennoy_voynyi.rar RAR 3.91 Copyright (c) 1993-2009 Alexander Roshal 12 Dec 2009 Shareware version Type RAR -? for help Archive A_Kiselev_Polkovodtsyi_i_voenachalniki_Velikoy_Otechestvennoy_voynyi.rar Pathname/Comment Size Packed Ratio Date Time Attr CRC Meth Ver Host OSSolid Old --- полководцы 00 0% 07-08-08 20:52 .D. m0 2.0 Win95/NT No No полководцы/полководцы.doc 3043328 1704158 55% 07-08-08 20:48 .A. D3016AC6 m3g 2.9 Win95/NT No No полководцы/полководцы_218x380.jpg 2778827788 100% 07-08-08 20:51 .A. 991E8D19 m0g 2.9 Win95/NT No No --- 3 3071116 1731946 56% > > P.S. unrar-free кириллицу в именах не понимает. Это лечится или только > > unrar-nonfree придется использовать? > > Можно поиграться локалью и перекодировками. Костыль тот ещё будет. В любом > случае большинство архивов rar сейчас версии 3+, поэтому unrar-nonfree > неприменим. То есть в зависимости индексатора нужно ставить non-free версию? Best regards, Alexey Pechnikov. http://pechnikov.tel/
Re: Получение информации о файлах в rar архиве
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} /^[^-]/ { if (OUT) { if ((NR-BASE)%2) { FILENAME=substr($0,2) } else {print $1, "\t", $4, $5, "\t", FILENAME } } }' Best regards, Alexey Pechnikov. http://pechnikov.tel/
Re: OpenVZ
Sat, Feb 13, 2010 at 13:40 +0300 Artem Chuprina воздействовал на энтропию: > архитектуры i386 отсутствуют собранные openvz-ядра в вариантах bigmem и > amd64." bigmem в openvz-ядре для i386 включен, кстати. -- Bright regards, Sergey Korobitsin | http://the-brights.net/ -- Arta Software, http://arta.kz/ | illuminating and elevating xmpp:underta...@jabber.arta.kz | the naturalistic worldview -- Не любят они на самом деле не Гринпис, а позицию "Как бы чего не вышло", справедливо считая, что при такой позиции ничего и не выйдет. -- http://vitus-wagner.livejournal.com/397851.html?thread=14561307#t14561307 -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100214163422.gg25...@arta.kz
Re: Получение информации о файлах в rar архиве
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 исполнять необходимые действия. Можно и на чистом sed-е сделать. Ну а на перле/питоне/тикле будет не сложнее. > То есть в зависимости индексатора нужно ставить non-free версию? unrar | rar Нет нужды в unrar, если rar уже стоит. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/hl99h8$6s...@ger.gmane.org
Re: Получение информации о файлах в rar архиве
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; print $1, $4, $5, FILENAME}' -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/hl9ajg$8p...@ger.gmane.org
Re: Получение информации о файлах в rar архиве
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 debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/hl9b61$b2...@ger.gmane.org
Re: Получение информации о файлах в rar архиве
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 не лишние, поскольку результат еще надо потом разобрать на поля и в базу сложить. Я там на всякий случай зарезервировал 4 поля на усмотрение пользователя, ежели кому захочется дополнительную информацию собирать. А уж распарсить строку с фиксированным числом полей, разделенных табом, далее уже элементарно. > Или короче: > > awk '/^-+$/ {OUT+=1; next} > OUT==1 {FILENAME=substr($0,2); getline; print $1, $4, $5, FILENAME}' Здорово, мне нравится. Best regards, Alexey Pechnikov. http://pechnikov.tel/
Re: Получение информации о файлах в rar архиве
Alexey Pechnikov wrote: > On Sunday 14 February 2010 20:18:18 Serhiy Storchaka wrote: >> Можно и так (только "\t" лишние). > > \t не лишние, поскольку результат еще надо потом разобрать на поля и в > базу сложить. Я там на всякий случай зарезервировал 4 поля на усмотрение > пользователя, ежели кому захочется дополнительную информацию собирать. > А уж распарсить строку с фиксированным числом полей, разделенных табом, > далее уже элементарно. Лишнее, потому что на самом деле разделитель получается " \t ". Если уж так хочется использовать табуляцию, то OFS="\t" (или конкатенация вместо запятой). Но причин предпочесть табуляцию пробелу нет (не забываем, что табуляция тоже может встретится в имени). -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/hl9f71$o7...@ger.gmane.org
Re: Получение информации о файлах в rar архиве
Hello! On Sunday 14 February 2010 21:36:55 Serhiy Storchaka wrote: > Лишнее, потому что на самом деле разделитель получается " \t ". Это только если запятые ставить. > Если уж так > хочется использовать табуляцию, то OFS="\t" (или конкатенация вместо > запятой). Но причин предпочесть табуляцию пробелу нет (не забываем, что > табуляция тоже может встретится в имени). В имени _файла в архиве_? Сомневаюсь. Best regards, Alexey Pechnikov. http://pechnikov.tel/
Re: Получение информации о файлах в rar архиве
Alexey Pechnikov wrote: > On Sunday 14 February 2010 21:36:55 Serhiy Storchaka wrote: >> Лишнее, потому что на самом деле разделитель получается " \t ". > > Это только если запятые ставить. Вот именно. >> Если уж так >> хочется использовать табуляцию, то OFS="\t" (или конкатенация вместо >> запятой). Но причин предпочесть табуляцию пробелу нет (не забываем, что >> табуляция тоже может встретится в имени). > > В имени _файла в архиве_? Сомневаюсь. Запросто. Даже "\n" схарчит, но тут уж ничего не поделаешь, неоднозначность не разрешить. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/hl9iih$1c...@ger.gmane.org
Подсчет трафика
Люди местные, сами мы недобрые... А расскажите, кто чем считает трафик и потом анализирует насчитанное. Интересует примерно следующая модель использования. Есть сеть, довольно развесистая, аж о двух роутерах (один роутит подсети внутренней сети и в DMZ, а другой из DMZ наружу). Внешний роутер маскарадит (и сам тоже малость генерирует трафик). Внутренняя сеть на VLAN'ах, и есть OpenVPN. Что хочется получить. В любой момент под рукой должна быть сводная информация вида "кто пожрал канал" - Top несколько пожирателей канала. Статистика (можно переключаемо вручную): за последние сутки-двое (с детализацией по часам), неделю (с детализацией приблизительно по времени дня), за пару месяцев (с детализацией по дням). Детализацию удобно было бы видеть графиками. Поскольку у внешнего роутера может быть более одного внешнего интерфейса, хорошо бы уметь увидеть статистику, касающуюся только одного из них. Заинтересовавшие вхождения нужно иметь возможность быстро и удобно (с точки зрения интерфейса) увидеть с аналогичным подходом (Top несколько, с детализацией) по: протоколам (в понимании IP, т.е. ICMP/UDP/TCP/что-там-еще-бывает), хостам (с кем в основном обменивался пакетами заинтересовавший меня наш внутренний хост), внутри протоколов TCP/UDP - по портам. Собственно, задачи, которые хочется решать: - сколько мы пожрали трафика за отчетный перед провайдером период - кто пожрал внешний канал - чем он его пожрал (трояна словил, за ненужными апдейтами ломанулся мимо родного WSUS'а, торрент торрентит, и т.п.) - где узкие места в локальной сети При этом на роутерах софта должно быть по минимуму - особенно софта, слушающего какие-то соединения. Категорически отказать апачу, а за выполнение aptitude install php<что-угодно> на роутере у нас применяется корпоративный расстрел на месте. На машине, которая показывает результаты админу или начальнику, можно и пыхпых. Поскольку внешний роутер маскарадит, то, вероятно, снимать надо ULOG'ом. pcap'ом либо его собственный внешний трафик не увидишь, либо детализацию по внутренним адресам не получишь. Насколько я понимаю, мейнстрим формата съема на одной машине с обработкой на другой - это NetFlow. Но если со снималкой для него вроде все понятно - fprobe-ulog, остальные ulog-варианты не умеют NetFlow, то вот с дальнейшей обработкой и визуализацией хотелось бы почитать мнение тех, кто этих устриц ел. -- Пришел в гости математик, почитать новую рукопись. Вычитал из нее трех героев напрочь, и ушел. Gimli on #arda -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/76391...@wizzle.ran.pp.ru
Re: Получение информации о файлах в rar архиве
Hello! On Sunday 14 February 2010 22:34:20 Serhiy Storchaka wrote: > >> Если уж так > >> хочется использовать табуляцию, то OFS="\t" (или конкатенация вместо > >> запятой). Но причин предпочесть табуляцию пробелу нет (не забываем, что > >> табуляция тоже может встретится в имени). > > > > В имени _файла в архиве_? Сомневаюсь. > > Запросто. Даже "\n" схарчит, но тут уж ничего не поделаешь, неоднозначность > не разрешить. Имя файла - последнее в строке. Так что задача получения имени файла идентична cut -f$N- возвращает "конец строки, включая поле $N" Best regards, Alexey Pechnikov. http://pechnikov.tel/
photoshop cs2 shortcuts
Приветствую! Возможно, немного оффтопик. В Adobe Photoshop CS2 под wine 1.0.1 (из lenny) не работают шорткаты. Причём не только те, что с модификаторами, а самые банальные типа B (переключение на инструмент Brush), K (переключение на инструмент Slice). Не гуглится. Кто-нибудь сталкивался с подобным? Как это лечить? Почему это вообще может быть? -- Dmitri Samsonov -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4b78a9e1.9050...@gmail.com
Не получается скомпили ть тестинговое ванильное ядро
Не получается под Debian скомпилить тестинговое ванильное ядро 2.6.33-rc8 с kernel.org (см. прилагаемые логи ошибок). При этом, ванильное ядро 2.6.32.8 скомпилилось без проблем. Что я делаю не так? $ make-kpkg --initrd kernel-image make[1]: Leaving directory `/home/user/local_src/linux-2.6.33-rc8' test ! -e scripts/package/builddeb || mv -f scripts/package/builddeb scripts/package/builddeb.kpkg-dist test ! -e scripts/package/Makefile || test -f scripts/package/Makefile.kpkg-dist || (mv -f scripts/package/Makefile scripts/package/Makefile.kpkg-dist && (echo "# Dummy file "; echo "help:") > scripts/package/Makefile) COLUMNS=150 dpkg -l 'gcc*' perl dpkg 'libc6*' binutils make dpkg-dev |\ awk '$1 ~ /[hi]i/ { printf("%s-%s\n", $2, $3) }'> debian/buildinfo uname -a >> debian/buildinfo echo using the compiler: >> debian/buildinfo grep LINUX_COMPILER include/linux/compile.h | \ sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> debian/buildinfo grep: include/linux/compile.h: ÐÐµÑ Ñакого Ñайла или каÑалога echo applied kernel patches: >> debian/buildinfo echo done > debian/stamp/build/kernel /usr/bin/make -f ./debian/rules debian/stamp/binary/pre-linux-image-2.6.33-rc8 make[1]: Entering directory `/home/user/local_src/linux-2.6.33-rc8' == making target debian/stamp/install/linux-image-2.6.33-rc8 [new prereqs: ]== This is kernel package version 11.015. echo "The UTS Release version in include/linux/version.h"; echo " \"\" "; echo "does not match current version:"; echo " \"2.6.33-rc8\" "; echo "Please correct this."; exit 2 The UTS Release version in include/linux/version.h "" does not match current version: "2.6.33-rc8" Please correct this. make[1]: *** [debian/stamp/install/linux-image-2.6.33-rc8] ÐÑибка 2 make[1]: Leaving directory `/home/user/local_src/linux-2.6.33-rc8' make: *** [kernel-image] ÐÑибка 2 -$ fakeroot make-kpkg --initrd --revision=og.100215.00 kernel_image make[1]: Leaving directory `/home/user/local_src/linux-2.6.33-rc8' test ! -e scripts/package/builddeb || mv -f scripts/package/builddeb scripts/package/builddeb.kpkg-dist test ! -e scripts/package/Makefile || test -f scripts/package/Makefile.kpkg-dist || (mv -f scripts/package/Makefile scripts/package/Makefile.kpkg-dist && (echo "# Dummy file "; echo "help:") > scripts/package/Makefile) COLUMNS=150 dpkg -l 'gcc*' perl dpkg 'libc6*' binutils make dpkg-dev |\ awk '$1 ~ /[hi]i/ { printf("%s-%s\n", $2, $3) }'> debian/buildinfo uname -a >> debian/buildinfo echo using the compiler: >> debian/buildinfo grep LINUX_COMPILER include/linux/compile.h | \ sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> debian/buildinfo grep: include/linux/compile.h: ÐÐµÑ Ñакого Ñайла или каÑалога echo applied kernel patches: >> debian/buildinfo echo done > debian/stamp/build/kernel /usr/bin/make -f ./debian/rules debian/stamp/binary/pre-linux-image-2.6.33-rc8 make[1]: Entering directory `/home/user/local_src/linux-2.6.33-rc8' == making target debian/stamp/install/linux-image-2.6.33-rc8 [new prereqs: ]== This is kernel package version 11.015. echo "The UTS Release version in include/linux/version.h"; echo " \"\" "; echo "does not match current version:"; echo " \"2.6.33-rc8\" "; echo "Please correct this."; exit 2 The UTS Release version in include/linux/version.h "" does not match current version: "2.6.33-rc8" Please correct this. make[1]: *** [debian/stamp/install/linux-image-2.6.33-rc8] ÐÑибка 2 make[1]: Leaving directory `/home/user/local_src/linux-2.6.33-rc8' make: *** [kernel_image] ÐÑибка 2
Re: photoshop cs2 shortcuts
On 02/15/2010 06:56 AM, Dmitri Samsonov wrote: Приветствую! Возможно, немного оффтопик. В Adobe Photoshop CS2 под wine 1.0.1 (из lenny) не работают шорткаты. Причём не только те, что с модификаторами, а самые банальные типа B (переключение на инструмент Brush), K (переключение на инструмент Slice). Не гуглится. Кто-нибудь сталкивался с подобным? Как это лечить? Почему это вообще может быть? -- Dmitri Samsonov В винде это наблюдалось при активной русской раслкладке - фотошоп по буквам смотрит, а не по кодам. В последних версиях пофиксено, но они не очень любят вайн :( Думаю, искать надо в сторону локали или раскладки. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4b78ef4c.7090...@gmail.com