abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 4
včera 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 22
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 3
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 1
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 2
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 770 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Přerovnání souborů do složek

3.8.2015 21:51 SFilip
Přerovnání souborů do složek
Přečteno: 413×
Zdravím,

nevěděl by někdo, jak udělat skript, který překopíruje do složek soubory - na základě data úpravy?

Např. img1.jpg (datum pořízení: 10.07.2015) -> Vytvoření složky 10.07.2015, pokud neexistuje a přesunout soubory podle dat.

Předem díky za veškerou pomoc

Odpovědi

3.8.2015 22:20 NN
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Na jakou uroven by jsi to chtel granulovat? Dny, mesice, roky? Prikaz find znas?
3.8.2015 22:47 SFilip
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Dny, měsíce a roky (např. 01.01.2015). Přiznám se, že jsem v tomhle úplný začátečník :(

Díky!
3.8.2015 23:51 mhepp | skóre: 22
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Do proměné PREFIX si nastav (absolutní) cestu kam chceš kopírovat:

PREFIX="/cilovy/adresar/"

Do proměné SRC zase adresář, který chceš zpracovat:

SRC="/ZDROJOVY/adresar/"

Zrušíme nastavení jazyka, pro jistotu kvůli formátu data LANG=C; LANGUAGE=C

A teď to přijde:

find $SRC -type f |

Ti vypíše všechn soubory,

while read i; do

je postupně po jednom načte do proměné i

DATUM=`ls -l --full-time "$i" | awk '{print $6}'`;

uložíš si datum vytvoření souboru

CESTA=$PREFIX/`date -d "$DATUM" +%Y/%m/%d`;

nastavíš si cílový adresář včetně cesty z data,

echo $CESTA;

pro jistotu vypíšeš

mkdir -p $CESTA;

vytvoříš cílový adresář (pokud existuje, nevadí)

cp -p "$i" "$CESTA";

zkopíruješ...

done

a hotovo!

Tak si to zopakujeme:

PREFIX=/cilovy/adresar/
SRC=/zdrojovy/adresar/

LANG=C
LANGUAGE=C

find "$SRC" -type f | while read i; do 
  DATUM=`ls -l --full-time "$i" | awk '{print $6}'`;
  CESTA=$PREFIX/`date -d "$DATUM" +%Y/%m/%d`;
  echo $CESTA;
  mkdir -p $CESTA;
  cp -p "$i" "$CESTA";
done

Skrupt nepřesouvá, ale kopíruje, takže si můžeš zkontrolovat, jestli je vše v pořádku. Pokud jsi ostrostřelec, tak místo "cp -p" použij mv.
3.8.2015 23:57 mhepp | skóre: 22
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Vidíš...

Skript vyvoří strukturu např. $PREFIX/2014/12/24/. Pokud bys chtěl adresáře $PREFIX/24.12.2014/, tak uprav řádek CESTA=...:
CESTA=$PREFIX/`date -d "$DATUM" +%d.%m.%Y`;
4.8.2015 00:13 mhepp | skóre: 22
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Ještě jsem si teď uvědomil, že chceš zpracovávat fotky. To by se Ti mohlo hodit brát čas z EXIF-u:
DATUM=`exiftool -d "%Y-%m-%d" -CreateDate "$i" | awk '{print $4}'`
To má ale nevýhodu, že EXIF nemusí být správně nastavený -- datum může chybět. Potom potřebuješ nějaký fallback:
[ "x$DATUM" == "x" ] && DATUM=`ls -l --full-time "$i" | awk '{print $6}'`;
ten vezme datum ze souborového systému tak jako původní skript, pokud EXIF neobsahuje Create Date značku.

Pokud Ti to vyhovuje takhle, tak řádek DATUM=... původního skriptu nahraď těma dvěma výše uvedenýma.
4.8.2015 01:45 SFilip
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Mockrát děkuji za vysvětlení a řešení.

Ještě bych měl dotaz, při pokusu o spuštění skriptu se mi zobrazila tato chyba (s pomocí ldd)

ldd: ./sh: Adresář nebo soubor neexistuje /var/www/prerovnani.sh: není dynamickým spustitelným kódem

Nevěděl by někdo, jak tento problém vyřešit? Jedu na Ubuntu 14.04 LTS (GNU/Linux 3.13.0-36-generic x86_64)
4.8.2015 02:02 nobody
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
s pomoci ldd??? ldd je nastroj na zobrazeni jake sdilene knihovny vyuziva binarni program...

skript se pousti pomoci sh:
sh /var/www/prerovnani.sh
nebo mu pridas priznak spusittelny
chmod +x /var/www/prerovnani.sh
a poustis ho rovnou:
/var/www/prerovnani.sh
pokud ses v adrasar kde je script, tak nemusis psat cestu ale uvedes aktualni adresar ktery znazornuje znak ".":
./prerovnani.sh
nebo si script vlozis napr. do adresare /usr/local/bin/ (kterej je v promene $PATH) a pak bez cesty odkudkoliv:
prerovnani.sh
4.8.2015 02:14 SFilip
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Pořád mi to ale vyhazuje chybu: find: `/var/www/prerovnani/test/\r': No such file or directory

Cesty mám nastavené takto:

PREFIX=/var/www/prerovnani/

SRC=/var/www/prerovnani/test/
4.8.2015 14:07 mhepp
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Smaž řádek SRC a ještě i další a napiš je znovu. Na konci rádku Ti zůstalo nějaké smetí v podobě nezobrazitelných znaků.
4.8.2015 15:25 SFilip
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Vše jsem udělal a zobrazuje se následující:

Adresář nebo soubor neexistuje PREFIX=/var/www/prerovnani/test/

/var/www/prerovnani.sh: řádek 11: chyba syntaxe poblíž neočekávaného tokenu „done“

/var/www/prerovnani.sh: řádek 11: `done'

Pro kontrolu přidávám i skript:

PREFIX=/var/www/prerovnani/test/

SRC=/var/www/prerovnani/

LANG=C

LANGUAGE=C

find "$SRC" -type f | while read i; do

[ "x$DATUM" == "x" ] && DATUM=`ls -l --full-time "$i" | awk '{print $6}'`;

CESTA=$PREFIX/`date -d "$DATUM" +%Y.%m.%d`;

echo $CESTA;

mkdir -p $CESTA;

cp -p "$i" "$CESTA";

done
4.8.2015 15:46 mhepp | skóre: 22
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Příloha:
Tak jak je v příloze, tak funguje...
4.8.2015 16:28 SFilip
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Moc moc moc díky! Funguje to! :) Můžu se ještě zeptat, jaký program na to psaní používáš?

Díky moc
4.8.2015 16:37 nobody
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
nainstaluj manager mc (midnight commander), je to obdoba norton/windows/total commanderu ve windows, a pres F4 tam mas editor co zvyraznuje syntax, ma sloupcove bloky, prevadi kodovani i spante zalamovani radku kdyz tam dotahnes neco z Widnows ;)
4.8.2015 16:33 nobody
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
ze ty si provadel upravy skriptu na Windows a jeste v nejakem pochybnem editoru? ;)
4.8.2015 16:40 SFilip
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Moc díky za radu :) Ano, na Windows a v poznámkovém bloku :) Aspoň už vím, co a jak.

Ještě jednou díky za pomoc a trpělivost
4.8.2015 22:58 mhepp | skóre: 22
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
To je pak jasné... Problém vznikl rozdílným přístupem Windows světa a Linux světa ke konci řádku. V Linuxu je to jeden znak (\n) a ve Win jsou to dva (\r\n).

Nejjednodušší rada co s tím je edituj v linuxu co linuxu jest a ve windows co windows jest...

Josef Kufner avatar 5.8.2015 00:03 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
Používám toto:
#!/bin/sh

if [ $# = 0 ]
then
        echo "Usage: $0 *.jpg" >&2
        echo "  Organizes photos to subdirectories by date they were created." >&2
        exit
fi

for f in $@ ; do
        d=`exiftags "$f" | sed -n '/^Image Created:/s/^[^:]\+: \(....\):\(..\):\(..\).*/\1-\2-\3/p'`
        [ -d "$d" ] || mkdir "$d" && mv -v "$f" "$d/"
done
Načte to datum z EXIF, vyrobí odpovídající adresář a fotku přesune do něj. Jednoduché a elegantní.
Hello world ! Segmentation fault (core dumped)
5.8.2015 00:25 nobody
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
hele nechci ti do toho kecat, ale co ti prijde elegantnejsi ? ;)
exiftool -d "%Y-%m-%d" -CreateDate "$f" | awk  '{print $4}'
exiftags "$f" | sed -n '/^Image Created:/s/^[^:]\+: \(....\):\(..\):\(..\).*/\1-\2-\3/p'
Josef Kufner avatar 5.8.2015 11:26 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
d=`exiftool -T -d "%Y-%m-%d" -CreateDate "$f"`
;-)
Hello world ! Segmentation fault (core dumped)
5.8.2015 16:40 nobody
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
d=`exiftool -T -d "%F" -CreateDate "$f"`
;-)
5.8.2015 16:58 jan.xxx
Rozbalit Rozbalit vše Re: Přerovnání souborů do složek
XnView to třeba umí ;-)

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.