[Решено] Изъять изображения из документа.
Модератор: /dev/random
-
GeorgijVladimirov
- Сообщения: 61
- ОС: Debian 6.0.4 x64
[Решено] Изъять изображения из документа.
Есть файл .doc, с изображениями. На каждом листе по одному изображению. Задача следующая - вычленить эти изображения в отдельные файлы.
Пробовал сохранять в .docx и .odt, и затем открывать архиватором - не помогает, т.к. изображения нумеруются в разнобой. Аналогично в .html. У меня есть конечно идея написать какой-нибудь скрипт, по принципу просмотра HTML файла (благо в нём файлы идут по нужному порядку), и переименовать соответствующие файлы в 1.jpg, 2.jpg, 3.jpg и т.д. Может есть вариант попроще (тем более скрипты-то я писать и не умею...)?
Пробовал сохранять в .docx и .odt, и затем открывать архиватором - не помогает, т.к. изображения нумеруются в разнобой. Аналогично в .html. У меня есть конечно идея написать какой-нибудь скрипт, по принципу просмотра HTML файла (благо в нём файлы идут по нужному порядку), и переименовать соответствующие файлы в 1.jpg, 2.jpg, 3.jpg и т.д. Может есть вариант попроще (тем более скрипты-то я писать и не умею...)?
-
shevan
- Сообщения: 992
- ОС: Debian, Puppy
Re: [Решено] Изъять изображения из документа.
Аналогично в .html. У меня есть конечно идея написать какой-нибудь скрипт, по принципу просмотра HTML файла (благо в нём файлы идут по нужному порядку), и переименовать соответствующие файлы в 1.jpg, 2.jpg, 3.jpg и т.д. Может есть вариант попроще (тем более скрипты-то я писать и не умею...)?
Да тут наверное и писать ничего не надо.
Стянуть весь медиа контент со странички можно менеджером закачки.
Затем зайти в каталог, отсортировать по размеру, дате, расширению и удалить ненужное.
После этого можно произвести массовое переименование специальными утилитами.
-
bormant
- Сообщения: 1354
Re: [Решено] Изъять изображения из документа.
Если " в лоб", то выбрать имена можно чем-то наподобие (если в именах нет пробелов, в чем можно убедиться, оставив только первые 2 команды):
cat file.html | egrep -o '<img [^>]+>' | egrep -o 'src=[^ ]+' | sed 's/^src=//'
cat file.html | egrep -o '<img [^>]+>' | egrep -o 'src=[^ ]+' | sed 's/^src=//'
-
GeorgijVladimirov
- Сообщения: 61
- ОС: Debian 6.0.4 x64
Re: [Решено] Изъять изображения из документа.
Bormant, поясните, пожалуйста, поподробнее вышеприведённое заклинание :-)
-
bormant
- Сообщения: 1354
Re: [Решено] Изъять изображения из документа.
cat file.html
выдаст содержимое file.html, | передаст его дальше,
egrep -o '<img [^>]+>'
оставит в потоке только HTML тэги <img ... >, | передаст поток дальше
egrep -o 'src=[^ ]+'
оставит в потоке только "src=... до первого пробела" часть из тэгов img, | передаст поток дальше
sed 's/^src=//'
"откусит" стартовый src=, в результате останется что-то наподобие
"путь/файл"
"путь/файл"
...
выдаст содержимое file.html, | передаст его дальше,
egrep -o '<img [^>]+>'
оставит в потоке только HTML тэги <img ... >, | передаст поток дальше
egrep -o 'src=[^ ]+'
оставит в потоке только "src=... до первого пробела" часть из тэгов img, | передаст поток дальше
sed 's/^src=//'
"откусит" стартовый src=, в результате останется что-то наподобие
"путь/файл"
"путь/файл"
...
Спасибо сказали:
-
GeorgijVladimirov
- Сообщения: 61
- ОС: Debian 6.0.4 x64
Re: [Решено] Изъять изображения из документа.
egor@ubuntu
egor@ubuntu:~$ cat mik.html | egrep -o '<img [^>]+>' | egrep -o 'src=[^ ]+' | sed 's/^src=//'
egor@ubuntu:~$ -
bormant
- Сообщения: 1354
Re: [Решено] Изъять изображения из документа.
$ wget http://linuxforum.ru/
$ cat index.html | egrep -o '<img [^>]+>' | egrep -o 'src=[^ >]+' | sed 's/^src=//'
вполне себе работает (внесена одна несущественная поправка).
Покажите mik.html...
$ cat index.html | egrep -o '<img [^>]+>' | egrep -o 'src=[^ >]+' | sed 's/^src=//'
вполне себе работает (внесена одна несущественная поправка).
Покажите mik.html...
-
GeorgijVladimirov
- Сообщения: 61
- ОС: Debian 6.0.4 x64
Re: [Решено] Изъять изображения из документа.
В примере с заглавной страницей этого форума, всё работает:А вот с mik.html дело обстоит совсем по-другому:Сам файл mik.html выглядит так:
Код: Выделить всё
egor@ubuntu:~$ wget http://linuxforum.ru/
--2010-01-05 22:03:48-- http://linuxforum.ru/
Resolving linuxforum.ru... 89.104.102.12
Connecting to linuxforum.ru|89.104.102.12|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `index.html'
[ <=> ] 95 482 4,28K/s in 21s
2010-01-05 22:04:13 (4,45 KB/s) - `index.html' saved [95482]
egor@ubuntu:~$ cat index.html | egrep -o '<img [^>]+>' | egrep -o 'src=[^ ]+' | sed 's/^src=//'
'style_images/LinuxForum.gif'
'logo/logo_etersoft_mini.png'
'style_images/1/nav.gif'
'style_images/1/exp_plus.gif'
'style_images/1/nav_m.gif'
'style_images/1/exp_minus.gif'
'style_images/1/nav_m.gif'
"http://linuxforum.ru/html/forumicons/vazhnye_i_chastye.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/proekty_nashego_foruma.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/book_and_doc.png">
'style_images/1/lastpost.gif'
'style_images/1/exp_plus.gif'
'style_images/1/nav_m.gif'
'style_images/1/exp_minus.gif'
'style_images/1/nav_m.gif'
"http://linuxforum.ru/html/forumicons/news.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/doroga_otkrytaya_vsem.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/education.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/flame.png">
'style_images/1/lastpost.gif'
'style_images/1/exp_plus.gif'
'style_images/1/nav_m.gif'
'style_images/1/exp_minus.gif'
'style_images/1/nav_m.gif'
"http://linuxforum.ru/html/forumicons/vopros_chainika.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/programmy.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/GUI_sodix.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/administrirovanie.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/hardware_for_linux.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/multimedia.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/WINE-Logo.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/Wine.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/games.png">
'style_images/1/lastpost.gif'
'style_images/1/exp_plus.gif'
'style_images/1/nav_m.gif'
'style_images/1/exp_minus.gif'
'style_images/1/nav_m.gif'
"http://linuxforum.ru/html/forumicons/commandline.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/programmirovanie2.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/nut.png">
'style_images/1/lastpost.gif'
'style_images/1/exp_plus.gif'
'style_images/1/nav_m.gif'
'style_images/1/exp_minus.gif'
'style_images/1/nav_m.gif'
"http://linuxforum.ru/html/forumicons/RH.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/AltLinux.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/Mandra.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/Dimain.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/ubuntu.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/Gentoo.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/Arch_by_mad.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/slack.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/Suse.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/Friaha.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/drugie_linux_unix(Darwin).png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/live-cd.png">
'style_images/1/lastpost.gif'
'style_images/1/exp_plus.gif'
'style_images/1/nav_m.gif'
'style_images/1/exp_minus.gif'
'style_images/1/nav_m.gif'
"http://linuxforum.ru/html/forumicons/podderzhka_foruma_by_jul.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/linuxcenter.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/linuxformat.png">
'style_images/1/lastpost.gif'
'style_images/1/exp_plus.gif'
'style_images/1/nav_m.gif'
'style_images/1/exp_minus.gif'
'style_images/1/nav_m.gif'
"http://linuxforum.ru/html/forumicons/tematicheskiy_fleim.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/igrovaya_ploschadka.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/humor.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/jizn_v_kartinkah.png">
'style_images/1/lastpost.gif'
"http://linuxforum.ru/html/forumicons/beer.png">
'style_images/1/lastpost.gif'
'style_images/1/exp_plus.gif'
'style_images/1/nav_m.gif'
'style_images/1/exp_minus.gif'
'style_images/1/nav_m.gif'
'style_images/1/user.gif'
'style_images/1/calen.gif'
'style_images/1/stats.gif'
'style_images/1/nav.gif'
'style_images/1/rss.png'Код: Выделить всё
egor@ubuntu:~$ cat mik.html | egrep -o '<img [^>]+>' | egrep -o 'src=[^ ]+' | sed 's/^src=//'
egor@ubuntu:~$Код: Выделить всё
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.1 (Linux)">
<META NAME="CREATED" CONTENT="0;0">
<META NAME="CHANGED" CONTENT="0;0">
<STYLE TYPE="text/css">
<!--
@page { size: 29.69cm 21.01cm; margin-right: 1.51cm; margin-top: 0.68cm; margin-bottom: 0.64cm }
P { margin-bottom: 0.21cm }
-->
</STYLE>
</HEAD>
<BODY LANG="ru-RU" DIR="LTR" STYLE="border: none; padding: 0cm">
<P ALIGN=LEFT STYLE="margin-bottom: 0cm; background: transparent; border: none; padding: 0cm; font-style: normal; font-weight: normal; line-height: 0cm; page-break-inside: auto; text-decoration: none; page-break-before: auto; page-break-after: auto">
<IMG SRC="%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%81%D1%85%D0%B5%D0%BC%D1%8B_html_f10dd79.jpg" NAME="graphics1" HSPACE=672 WIDTH=1008 HEIGHT=720 STYLE="position: absolute; top: 0cm; left: 0cm" BORDER=0><BR CLEAR=LEFT><BR>
</P>
...
...
<и так далее перечисляется список этих изображений, по структуре такой же, как и выше находящийся отрывок под тегом "P">
...
...
<P ALIGN=LEFT STYLE="margin-bottom: 0cm; background: transparent; border: none; padding: 0cm; font-style: normal; font-weight: normal; line-height: 0cm; page-break-inside: auto; text-decoration: none; page-break-before: always; page-break-after: auto">
<IMG SRC="%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%81%D1%85%D0%B5%D0%BC%D1%8B_html_64caf980.jpg" NAME="graphics118" HSPACE=672 WIDTH=1014 HEIGHT=772 STYLE="position: absolute; top: 0cm; left: 0cm" BORDER=0><BR CLEAR=LEFT><BR>
</P>
</BODY>
</HTML>-
bormant
- Сообщения: 1354
Re: [Решено] Изъять изображения из документа.
$ cat mik.html | egrep -i -o '<img [^>]+>' | egrep -i -o 'src=[^ >]+' | sed 's/^src=//i'
Регистрозависимость подвела ;-)
Ещё бы %-кодированную часть чем-то преобразовать в русские буквы, но с ходу не соображу...
Добавлено:
ничего стандартного не вспомнилось, поэтому "из пушки по воробьям"
$ cat mik.html | egrep -i -o '<img [^>]+>' | egrep -i -o 'src=[^ >]+' | sed 's/^src=//i' | perl -p -e 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'
как одноразовое решение потянет, но стоит целиком на perl сделать, в котором, к сожалению, я не силён...
Регистрозависимость подвела ;-)
Ещё бы %-кодированную часть чем-то преобразовать в русские буквы, но с ходу не соображу...
Добавлено:
ничего стандартного не вспомнилось, поэтому "из пушки по воробьям"
$ cat mik.html | egrep -i -o '<img [^>]+>' | egrep -i -o 'src=[^ >]+' | sed 's/^src=//i' | perl -p -e 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'
как одноразовое решение потянет, но стоит целиком на perl сделать, в котором, к сожалению, я не силён...
Спасибо сказали:
-
GeorgijVladimirov
- Сообщения: 61
- ОС: Debian 6.0.4 x64
Re: [Решено] Изъять изображения из документа.
Спасибо Вам большое, Bormant
- всё получилось, появился список файлов с изображениями как раз в том порядке, в котором надо (см. вставку ниже). Примите мои благодарности!Поясните, пожалуйста, про добавленный ключ "-i" и про часть, что начинается с "perl".
Теперь дело за небольшим. Нужно только по списку этих файлов найти соответствующие файлы в папке, и переименовать их в порядке возрастания, начиная от числа "6-7". Соответственно следующий файл должен иметь имя "8-9", следующий "10-11" и т.д. Это обусловлено тем, что на каждом листе (соответствующем файлу изображения), находится 2 страницы книги.
Наверное это должно выглядеть следующим образом: берём получившийся список, разделяем его по строчкам ("grep"?), загоняем его как аргумент в "find", находим файл, и переименовываем его в "6-7", которые мы задаём чуть раньше. Похоже дело будет связано со скриптом, раз придётся передавать переменную типа "6-7", и последовательно её увеличивать. Bormant, и все остальные - жду вашей помощи. Сам пока слишком слаб, чтобы такое написать.
Может я сейчас и не к теме помяну, но я потихоньку начинаю осознавать, что консоль это СРЕДСТВО РЕШЕНИЯ ЛЮБЫХ ЗАДАЧ, через довольно простые базовые программы. Это достаточно простое (хоть и требующее изучения), и тем не менее, мощное и универсальное средство решения любых задач.
Код: Выделить всё
"Микросхемы_html_f10dd79.jpg"
"Микросхемы_html_m1461c5b0.jpg"
"Микросхемы_html_m1648c72a.jpg"
"Микросхемы_html_m39f82165.jpg"
"Микросхемы_html_m21650aef.jpg"Теперь дело за небольшим. Нужно только по списку этих файлов найти соответствующие файлы в папке, и переименовать их в порядке возрастания, начиная от числа "6-7". Соответственно следующий файл должен иметь имя "8-9", следующий "10-11" и т.д. Это обусловлено тем, что на каждом листе (соответствующем файлу изображения), находится 2 страницы книги.
Наверное это должно выглядеть следующим образом: берём получившийся список, разделяем его по строчкам ("grep"?), загоняем его как аргумент в "find", находим файл, и переименовываем его в "6-7", которые мы задаём чуть раньше. Похоже дело будет связано со скриптом, раз придётся передавать переменную типа "6-7", и последовательно её увеличивать. Bormant, и все остальные - жду вашей помощи. Сам пока слишком слаб, чтобы такое написать.
Может я сейчас и не к теме помяну, но я потихоньку начинаю осознавать, что консоль это СРЕДСТВО РЕШЕНИЯ ЛЮБЫХ ЗАДАЧ, через довольно простые базовые программы. Это достаточно простое (хоть и требующее изучения), и тем не менее, мощное и универсальное средство решения любых задач.
-
bormant
- Сообщения: 1354
Re: [Решено] Изъять изображения из документа.
Уж это-то проще простого:
$ n=006; for f in $(cat mik.html | egrep -i -o '<img [^>]+>' | egrep -i -o 'src=[^ >]+' | sed 's/^src=//i' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do echo mv $f ${n: -3}-$((n+1)).jpeg; n=00$((n+2)); done
Если вывод будет правильный, убрать echo и вперёд.
Зелёным помечен результат предыдущего шага...
grep -i -- указывает не различать верхний/нижний регистр и считать одинаковыми img, IMG, Img, ...
Про perl уж самостоятельно, man perl и дальше... Либо книжицу какую возьмите, удобная и мощная штука в умелых руках.
Добавлено:
Напряг склероз, но 2 регвыражения объединить всё равно не сумел ;-)
$ n=006; for f in $(cat mik.html | perl -lne 'print "\"".$2."\"" while /<img .*?src=(["'\''])(.+?)\1.*?>/ig' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do echo mv $f ${n: -3}-$((n+1)).jpeg; n=00$((n+2)); done
$ n=006; for f in $(cat mik.html | egrep -i -o '<img [^>]+>' | egrep -i -o 'src=[^ >]+' | sed 's/^src=//i' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do echo mv $f ${n: -3}-$((n+1)).jpeg; n=00$((n+2)); done
Если вывод будет правильный, убрать echo и вперёд.
Зелёным помечен результат предыдущего шага...
grep -i -- указывает не различать верхний/нижний регистр и считать одинаковыми img, IMG, Img, ...
Про perl уж самостоятельно, man perl и дальше... Либо книжицу какую возьмите, удобная и мощная штука в умелых руках.
Добавлено:
Напряг склероз, но 2 регвыражения объединить всё равно не сумел ;-)
$ n=006; for f in $(cat mik.html | perl -lne 'print "\"".$2."\"" while /<img .*?src=(["'\''])(.+?)\1.*?>/ig' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do echo mv $f ${n: -3}-$((n+1)).jpeg; n=00$((n+2)); done
-
GeorgijVladimirov
- Сообщения: 61
- ОС: Debian 6.0.4 x64
Re: [Решено] Изъять изображения из документа.
Вывод даётся следующий:Далее без "echo":Ваше второе выражение:Ваше второе выражение без "echo":Немного неудобно чувствовать себя копи-пастером, но я надеюсь так будет не всегда.
Код: Выделить всё
egor@ubuntu:~$ n=006; for f in $(cat mik.html | egrep -i -o '<img [^>]+>' | egrep -i -o 'src=[^ >]+' | sed 's/^src=//i' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do echo mv $f ${n: -3}-$((n+1)).jpeg; n=00$((n+2)); done
mv "Микросхемы_html_f10dd79.jpg" 006-7.jpeg
bash: 008: value too great for base (error token is "008")Код: Выделить всё
egor@ubuntu:~$ n=006; for f in $(cat mik.html | egrep -i -o '<img [^>]+>' | egrep -i -o 'src=[^ >]+' | sed 's/^src=//i' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do mv $f ${n: -3}-$((n+1)).jpeg; n=00$((n+2)); done
mv: cannot stat `"Микросхемы_html_f10dd79.jpg"': No such file or directory
bash: 008: value too great for base (error token is "008")Код: Выделить всё
egor@ubuntu:~$ n=006; for f in $(cat mik.html | perl -lne 'print "\"".$2."\"" while /<img .*?src=(["'\''])(.+?)\1.*?>/ig' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do echo mv $f ${n: -3}-$((n+1)).jpeg; n=00$((n+2)); done
mv "Микросхемы_html_f10dd79.jpg" 006-7.jpeg
bash: 008: value too great for base (error token is "008")Код: Выделить всё
egor@ubuntu:~$ n=006; for f in $(cat mik.html | perl -lne 'print "\"".$2."\"" while /<img .*?src=(["'\''])(.+?)\1.*?>/ig' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do mv $f ${n: -3}-$((n+1)).jpeg; n=00$((n+2)); done
mv: cannot stat `"Микросхемы_html_f10dd79.jpg"': No such file or directory
bash: 008: value too great for base (error token is "008")-
bormant
- Сообщения: 1354
Re: [Решено] Изъять изображения из документа.
Ясно.
1) Подвела попытка "навести красоту" с лидирующими нулями. Числа, начинающиеся с 0 воспринимаются bash как 8-ричные.
$ n=6; for f in $(cat mik.html | egrep -i -o '<img [^>]+>' | egrep -i -o 'src=[^ >]+' | sed 's/^src=//i' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do echo mv $f $n-$((n+1)).jpg; n=$((n+2)); done
или
$ n=6; for f in $(cat mik.html | perl -lne 'print "\"".$2."\"" while /<img .*?src=(["'\''])(.+?)\1.*?>/ig' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do echo mv $f $n-$((n+1)).jpg; n=$((n+2)); done
2) mv: cannot stat `"Микросхемы_html_f10dd79.jpg"': No such file or directory
если при первом выполнении без echo уже было переименовано в 006-7.jpeg, то можно не обращать внимания. В противном случае, где в действительности вместо текущего каталога лежат .jpg файлы?
1) Подвела попытка "навести красоту" с лидирующими нулями. Числа, начинающиеся с 0 воспринимаются bash как 8-ричные.
$ n=6; for f in $(cat mik.html | egrep -i -o '<img [^>]+>' | egrep -i -o 'src=[^ >]+' | sed 's/^src=//i' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do echo mv $f $n-$((n+1)).jpg; n=$((n+2)); done
или
$ n=6; for f in $(cat mik.html | perl -lne 'print "\"".$2."\"" while /<img .*?src=(["'\''])(.+?)\1.*?>/ig' | perl -pe 's/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg'); do echo mv $f $n-$((n+1)).jpg; n=$((n+2)); done
2) mv: cannot stat `"Микросхемы_html_f10dd79.jpg"': No such file or directory
если при первом выполнении без echo уже было переименовано в 006-7.jpeg, то можно не обращать внимания. В противном случае, где в действительности вместо текущего каталога лежат .jpg файлы?
Спасибо сказали:
-
GeorgijVladimirov
- Сообщения: 61
- ОС: Debian 6.0.4 x64
Re: [Решено] Изъять изображения из документа.
Спасибо за помощь, Bormant, всё прекрасно получилось! Файлы переименовались именно так, как надо. За одним исключением: в команду "sed"надо было добавить ещё кавычки, чтобы она их тоже "откусила". Я сделал немного по-другому: просто убрал все кавычки из html-файла через автозамену, и всё заработало.
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: [Решено] Изъять изображения из документа.
GeorgijVladimiro... писал(а): ↑10.01.2010 22:00"sed"надо было добавить ещё кавычки, чтобы она их тоже "откусила".
можно в sed, а вообще есть команда tr для простой замены символов.