Portál AbcLinuxu, 12. května 2025 13:03

Dotaz: jak zobrazit promenou?

25.1.2009 21:26 Ales
jak zobrazit promenou?
Přečteno: 325×
Odpovědět | Admin

Ahoj, tak mam takovy zapeklity problemek.

Prijde mi-li mail, poslu ho rourou do skriptu, kterej vytahle prilohu, prejmenuje ji podle aktualniho data a casu a zkopci na web (apache2) - dale odesle informacni mail, ze priloha byla zverejnena. Chtel bych ale pridat jeste informaci: muzete si ji nyni prohlednout na www.example.net/priloha_datum_cas.pdf. Jak ale udelam, aby se mi ta aktualni promena napsala za www.example.net/  ? Diky, snad jsem to popsal srozumitelne.

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.1.2009 22:16 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: jak zobrazit promenou?
Odpovědět | | Sbalit | Link | Blokovat | Admin

Buď je to triviální

...
# v proměnné 'soubor' je cesta k tomu souboru
soubor=něco
...
mail -s "Informacni mail" .... <<EOF_MAIL
Priloha byla zverejnena, je k nalezeni
na http://www.example.net/$soubor.
EOF_MAIL

nebo jsem to nepochopil (pokud je to tenhle případ, vložte sem už hotovou část skriptu).

I am always ready to learn although I do not always like to be taught. (W. Churchill)
25.1.2009 23:03 Ales
Rozbalit Rozbalit vše Re: jak zobrazit promenou?

cast, kde soubor bude prejmenovan:

function print_new_name () {
    # Input: file.pdf
    # Output: file_090308_01.pdf
    date=$(date +%d%m%y)
    i=1
    while :; do
    printf -v name "%s_%s_%02d.pdf" "${1%.pdf}" $date $i
    if [ ! -e "$name" ]; then break; fi
    let i=i+1
    done
    echo "$name"
}

for f in /home/FAX/priloha.pdf; do
    # skip names with suffixes like _090308_01.pdf
    if [ "${f%_[0-9][0-9][0-9][0-9][0-9][0-9]_[0-9][0-9].pdf}" == "$f" ]; then
    name=$(print_new_name "$f")
    mv "$f" "$name"
    fi
done

 

Jak z toho vytahnu ten nazev aby sel pouzit do toho info vypisu?
 

25.1.2009 23:16 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: jak zobrazit promenou?
Jestli myslíte to tučně, tak např.
nazev=`echo "$name" | sed 's#.*/\([^/]*\)$#\1#'`;
I am always ready to learn although I do not always like to be taught. (W. Churchill)
Fuky avatar 26.1.2009 01:12 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: jak zobrazit promenou?
Nebo jednoduše: nazev=$(basename $name)
Fuky avatar 26.1.2009 01:15 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: jak zobrazit promenou?
BTW: V budoucnu by se ještě mohl hodit dirname. ;-)
26.1.2009 08:57 Ales
Rozbalit Rozbalit vše Re: jak zobrazit promenou?

Takze tohle je ten vysledny aktualni nazev?

Fuky avatar 26.1.2009 11:53 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: jak zobrazit promenou?

$ nazev="/cesta/k/nejakemu/souboru/nazev_souboru"
$ echo $nazev
/cesta/k/nejakemu/souboru/nazev_souboru
$ basename $nazev
nazev_souboru

Využívej víc manuálové stránky a jednotlivé dílčí části si zkoušej na jednoduchých příkladech pro lepší pochopení jak to funguje.

26.1.2009 14:38 linuxnew
Rozbalit Rozbalit vše Re: jak zobrazit promenou?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mohu se zeptat jak vytahujete tu prilohu z prichoziho mailu? Jestli to neni tajemstvi? Dekuji.
26.1.2009 14:49 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: jak zobrazit promenou?
Lze použít třeba metamail.
27.1.2009 09:20 Ales
Rozbalit Rozbalit vše Re: jak zobrazit promenou?

Pouzivam na to RIPMIME ...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.