Alexey Pechnikov wrote:
Интересует размер файла, дата добавления в архив или дата последней
модификации, имя файла в архиве. Для zip,7z, etc. все легко и просто -
вывели список файлов в архве, грепнули, позвали awk и готово. Но вот
rar архив отличился - имя файла выдает _первым_ аргументом, а
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?
Hello!
On Monday 15 February 2010 19:11:27 Serhiy Storchaka wrote:
Имя файла - последнее в строке. Так что задача получения имени файла
идентична cut -f$N- возвращает конец строки, включая поле $N
cut -d ' ' -f$N- не сложнее.
Откуда настойчивое желание вручную всем утилитам разделитель
Hello!
On Monday 15 February 2010 17:35:47 Maxim Nikulin wrote:
Алексей, а в чем проблемы с p7zip-rar? формат вывода вроде тот же, что и
у 7z.
Тогда для обработки rar-архивов придется ставить 7zfull, и ладно бы еще он
свободный был. rar при желании можно и свободный поставить, если обработка
Alexey Pechnikov wrote:
Откуда настойчивое желание вручную всем утилитам разделитель указывать?
По умолчанию таб, пусть таковым и остается, зачем менять-то?
OFS по умолчанию пробел, зачем менять-то?
Откуда у человека, путающегося с пробелами и табуляциями в редакторе,
желание использовать эту
Alexey Pechnikov wrote:
On Monday 15 February 2010 17:35:47 Maxim Nikulin wrote:
Алексей, а в чем проблемы с p7zip-rar? формат вывода вроде тот же, что и
у 7z.
Тогда для обработки rar-архивов придется ставить 7zfull, и ладно бы еще он
свободный был. rar при желании можно и свободный
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, и
Hello!
On Monday 15 February 2010 21:35:27 Yuriy Kaminskiy wrote:
К тому же 7z
1) более нормально поддерживает кодировки имён файлов в zip (его можно убедить
их не трогать, в результате чего они поддаются автодетекту кодировки),
2) и держит чёртову уймищу более других архивов (из
Hello!
Интересует размер файла, дата добавления в архив или дата последней
модификации, имя файла в архиве. Для zip,7z, etc. все легко и просто -
вывели список файлов в архве, грепнули, позвали awk и готово. Но вот
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
Alexey Pechnikov wrote:
Интересует размер файла, дата добавления в архив или дата последней
модификации, имя файла в архиве. Для zip,7z, etc. все легко и просто -
вывели список файлов в архве, грепнули, позвали awk и готово. Но вот
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,
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}'
Фантастика! А если в архиве поддиректории есть, возможно в такой же формат
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} /^[^-]/ {
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 исполнять
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;
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
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 не лишние, поскольку
Alexey Pechnikov wrote:
On Sunday 14 February 2010 20:18:18 Serhiy Storchaka wrote:
Можно и так (только \t лишние).
\t не лишние, поскольку результат еще надо потом разобрать на поля и в
базу сложить. Я там на всякий случай зарезервировал 4 поля на усмотрение
пользователя, ежели кому
Hello!
On Sunday 14 February 2010 21:36:55 Serhiy Storchaka wrote:
Лишнее, потому что на самом деле разделитель получается \t .
Это только если запятые ставить.
Если уж так
хочется использовать табуляцию, то OFS=\t (или конкатенация вместо
запятой). Но причин предпочесть табуляцию пробелу
Alexey Pechnikov wrote:
On Sunday 14 February 2010 21:36:55 Serhiy Storchaka wrote:
Лишнее, потому что на самом деле разделитель получается \t .
Это только если запятые ставить.
Вот именно.
Если уж так
хочется использовать табуляцию, то OFS=\t (или конкатенация вместо
запятой). Но
Hello!
On Sunday 14 February 2010 22:34:20 Serhiy Storchaka wrote:
Если уж так
хочется использовать табуляцию, то OFS=\t (или конкатенация вместо
запятой). Но причин предпочесть табуляцию пробелу нет (не забываем, что
табуляция тоже может встретится в имени).
В имени _файла в
22 matches
Mail list logo