Скрипт для просмотра кэша мозиллы или файрфокса. (т. к. нет рубрики "скрипты начинающих")

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

noid
Сообщения: 12

Скрипт для просмотра кэша мозиллы или файрфокса.

Сообщение noid »

Запускать из директории кэша с аргументом * .
Файлы размещаются в директории /home/$USER/cache_files

Код:

#!/bin/bash mkdir /home/$USER/cache_files mkdir /home/$USER/cache_files/html mkdir /home/$USER/cache_files/txt mkdir /home/$USER/cache_files/pics mkdir /home/$USER/cache_files/archives while test "$1" != "" ; do { FILENAME=`file "$1" | awk -F: '{print $1}'` FILEXT=`file "$1" | awk -F: '{print $2}'| awk '{print $1}'`; if test "$FILEXT" = "HTML"; then cp "$FILENAME" /home/$USER/cache_files/html/$FILENAME.html fi if test "$FILEXT" = "ASCII"; then cp "$FILENAME" /home/$USER/cache_files/txt/$FILENAME.txt fi if test "$FILEXT" = "JPEG"; then cp "$FILENAME" /home/$USER/cache_files/pics/$FILENAME.jpg fi if test "$FILEXT" = "GIF"; then cp "$FILENAME" /home/$USER/cache_files/pics/$FILENAME.gif fi if test "$FILEXT" = "PNG"; then cp "$FILENAME" /home/$USER/cache_files/pics/$FILENAME.png fi if test "$FILEXT" = "UTF-8"; then cp "$FILENAME" /home/$USER/cache_files/txt/$FILENAME.txt fi if test "$FILEXT" = "ISO-8859"; then cp "$FILENAME" /home/$USER/cache_files/txt/$FILENAME.txt fi if test "$FILEXT" = "gzip"; then cp "$FILENAME" /home/$USER/cache_files/archives/$FILENAME.gz fi if test "$FILEXT" = "Zip"; then cp "$FILENAME" /home/$USER/cache_files/archives/$FILENAME.zip fi shift } done
don't even touch your mouse unless you really need to go somewhere! ©
Спасибо сказали:

Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: Скрипт для просмотра кэша мозиллы или файрфокса.

Сообщение polachok »

может mkdir в одну строчку??
И немедленно выпил.
Спасибо сказали:

Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Скрипт для просмотра кэша мозиллы или файрфокса.

Сообщение elide »

ну да. как-то так.
только, мне кажется, case выглядит гораздо более читабельно

Код: Выделить всё

case "$FILEXT" in
    HTML) cp "$FILENAME" "$HOME/cache_files/html/$FILENAME.html";;
    .........
esac
это раз.
если пишешь cp "$FILENAME", подразумевая, что в пути могут быть пробелы, то и /home/$USER/cache_files/pics/$FILENAME.EXT надо брать в кавычки. это два.
ну и вместо /home/$USER/ лучше использовать просто $HOME/. потому как домашние папки совсем не обязаны лежать в /home и называться так же, как и имена пользователей... собственно, три.

да, папки лучше создавать как-то вроде mkdir -p $HOME/cache_files/{html,txt,pics,archives}
хотя, это уже дело вкуса.
слава роботам!
Спасибо сказали:

noid
Сообщения: 12

Re: Скрипт для просмотра кэша мозиллы или файрфокса.

Сообщение noid »

Спасибо.
если пишешь cp "$FILENAME", подразумевая, что в пути могут быть пробелы
Ничего такого я не подразумевал. )

Код: Выделить всё

#!/bin/bash

mkdir -p $HOME/cache_files/{html,txt,pics,archives}

while test "$1" != ""; do
{
    FILENAME=`file "$1" | awk -F: '{print $1}'`
    FILEXT=`file "$1" | awk -F: '{print $2}'|  awk '{print $1}'`;

    case "$FILEXT" in
        HTML) cp "$FILENAME" "$HOME/cache_files/html/$FILENAME.html";;
        ASCII) cp "$FILENAME" "$HOME/cache_files/txt/$FILENAME.txt";;
        UTF-8) cp "$FILENAME" "$HOME/cache_files/txt/$FILENAME.txt";;
        ISO-8859) cp "$FILENAME" "$HOME/cache_files/txt/$FILENAME.txt";;
        JPEG) cp "$FILENAME" "$HOME/cache_files/pics/$FILENAME.jpg";;
        GIF) cp "$FILENAME" "$HOME/cache_files/pics/$FILENAME.gif";;
        PNG) cp "$FILENAME" "$HOME/cache_files/pics/$FILENAME.png";;
        gzip) cp "$FILENAME" "$HOME/cache_files/archives/$FILENAME.gz";;
        Zip) cp "$FILENAME" "$HOME/cache_files/archives/$FILENAME.zip";;
    esac
    shift
}
done
don't even touch your mouse unless you really need to go somewhere! ©
Спасибо сказали:

Аватара пользователя
Shura
Сообщения: 1537
Статус: Оказывается и без KDE есть жизнь
ОС: FreeBSD 8.0-RC2

Re: Скрипт для просмотра кэша мозиллы или файрфокса.

Сообщение Shura »

Не работает mkdir -p $HOME/cache_files/{html,txt,pics,archives}. Эта команда банально создает каталог с таким именем.
Rock'n'roll мертв © БГ
Спасибо сказали:

Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Скрипт для просмотра кэша мозиллы или файрфокса.

Сообщение elide »

и не должно (:
я-то предложил вариант под исходный #!/bin/bash,
а noid его вдруг на #!/bin/sh поправил... а sh не умеет такие чудеса творить...
слава роботам!
Спасибо сказали:

noid
Сообщения: 12

Re: Скрипт для просмотра кэша мозиллы или файрфокса.

Сообщение noid »

В debian sh -> bash.
don't even touch your mouse unless you really need to go somewhere! ©
Спасибо сказали: