Nalezení a konvert obrázků

nobody

Re:Nalezení a konvert obrázků
« Odpověď #15 kdy: 26. 08. 2015, 17:15:07 »
find -regextype posix-extended -iregex '.*\.(png|PNG|Png)' -exec sh -c 'convert ${1%} ${1%.*}.gif && rm ${1}' _ {} \;
find -regextype posix-extended -iregex '.*\.(bmp|BMP|Bmp|tif|TIF|Tif|tiff|TIFF|Tiff|pcx|PCX|Pcx|ico|ICO|Ico|raw|RAW|Raw|gif|GIF|Gif)' -exec sh -c 'convert -quality 95 ${1%} ${1%.*}.png && rm ${1}' _ {} \;
jen detail ;) iregex je case insensitive, tedy regex kterej si nevsima velikosti pismen, viz manual pro find:
Citace
-iregex pattern
              Like -regex, but the match is case insensitive.
takze opravdu staci pro vsechny kombinace, tedy nejen png,PNG,Png ale i pNG, pNg, pnG, PNg, PnG zadat pouze png...
Kód: [Vybrat]
find -regextype posix-extended -iregex '.*\.(png)' -exec sh -c 'convert ${1%} ${1%.*}.gif && rm ${1}' _ {} \;
find -regextype posix-extended -iregex '.*\.(bmp|tif|tiff|pcx|ico|raw|gif)' -exec sh -c 'convert -quality 95 ${1%} ${1%.*}.png && rm ${1}' _ {} \;


nobody

Re:Nalezení a konvert obrázků
« Odpověď #16 kdy: 26. 08. 2015, 18:34:20 »
Kód: [Vybrat]
# pro nazev.tar.cokoliv vytvori adresar nazev (bez .tar.cokoliv) a rozbalit pomoci tar s uvedenim vystupniho adresare pomoci -C nazev
find -iname '*.tar.*' -exec sh -c 'mkdir ${1%.tar*}; tar xvf ${1%} -C ${1%.tar*} && rm ${1}' _ {} \;

# nebo pro nazev.tar.konkretni_pripony vytvori adresar nazev (bez .tar.pripona) a rozbalit pomoci tar s uvedenim vystupniho adresare pomoci -C nazev
find -regextype posix-extended -iregex '.*tar\.(bz2|gz|xz)' -exec sh -c 'mkdir ${1%.tar*}; tar xvf ${1%} -C ${1%.tar*} && rm ${1}' _ {} \;

# ostatni rozbalit pomoci 7z s uvedenim vystupniho adresare pomoci -onazev (odebrana (posledni) pripona, nutno zadat bez mezery za o, 7z sam neexistujici adresare vytvari)
find -regextype posix-extended -iregex '.*\.(arj|zip|rar)' -exec sh -c '7z x ${1%} -o${1%.*} && rm ${1}' _ {} \;

Honza1

Re:Nalezení a konvert obrázků
« Odpověď #17 kdy: 28. 08. 2015, 17:00:32 »
Diky

Takto to funguje mnohem rychleji a lip, navic neni problem s mezery.

Muj uplne prvni skript na toto (i na konvert obrazku) byl toto:

cd "${W}${WO}/"
for AU in `ls -d */ |  tr -d "/"`; do
cd "${W}${WO}/${AU}/"
for BU in `ls -d */ |  tr -d "/"`; do
cd "${W}${WO}/${AU}/${BU}/"
for CU in `ls -d */ |  tr -d "/"`; do
cd "${W}${WO}/${AU}/${BU}/${CU}/"
for XU in `ls -d */ |  tr -d "/"`; do
cd "${W}${WO}/${AU}/${BU}/${CU}/${XU}/"
for TU in `ls -d */ |  tr -d "/"`; do
cd "${W}${WO}/${AU}/${BU}/${CU}/${XU}/${TU}/"
for KU in `ls -d */ |  tr -d "/"`; do
cd "${W}${WO}/${AU}/${BU}/${CU}/${XU}/${TU}/${KU}/"
for LU in `ls -d */ |  tr -d "/"`; do
cd "${W}${WO}/${AU}/${BU}/${CU}/${XU}/${TU}/${KU}/${LU}/"
for MU in `ls -d */ |  tr -d "/"`; do
cd "${W}${WO}/${AU}/${BU}/${CU}/${XU}/${TU}/${KU}/${LU}/${MU}/"
for NU in `ls -d */ |  tr -d "/"`; do
cd "${W}${WO}/${AU}/${BU}/${CU}/${XU}/${TU}/${KU}/${LU}/${MU}/${NU}/"
for OU in `ls -d */ |  tr -d "/"`; do
cd "${W}${WO}/${AU}/${BU}/${CU}/${XU}/${TU}/${KU}/${LU}/${MU}/${NU}/${OU}/"
ls
cd "${W}${WO}/${AU}/${BU}/${CU}/${XU}/${TU}/${KU}/${LU}/${MU}/${NU}/${OU}/"

STRAAAASNE MOC PRIKAZU PRO RUZNE VARIANTY

HODNEKRAT DONE

Coz bylo casove nic moc, nez to projelo vsechny slozky. Navic mezera byla problem. U archivu jeste OK, ale u obrazku to znamenalo nekdy zacykleni a konvert v jede slozce parad dokola.

Diky za napad, vypocetni cas znacne ubyde.

Honza1

Re:Nalezení a konvert obrázků
« Odpověď #18 kdy: 05. 09. 2015, 00:39:01 »
Takže celkově pro konvert obrázků postačí toto ? Přez GIF tedy jít nemusím, ale rovnou do PNG hloubky 8 bit, pro minimální velikost quality 95.

Co se ale stane, když PNG je i původní obrázek ? To by byl i výsledek smazát, takže u formátu PNG se např přez GIF musí.

Výsldedek tedy takto:

find -regextype posix-extended -iregex '.*\.(png)' -exec sh -c 'convert ${1%} ${1%.*}.gif && rm ${1}' _ {} \;
find -regextype posix-extended -iregex '.*\.(bmp|tif|tiff|pcx|ico|raw|gif)' -exec sh -c 'convert -quality 95 -depth 8 -type Palette ${1%} ${1%.*}.png && rm ${1}' _ {} \;

Honza1

Re:Nalezení a konvert obrázků
« Odpověď #19 kdy: 05. 09. 2015, 01:01:54 »
Nobody

Kód: [Vybrat]
# pro nazev.tar.cokoliv vytvori adresar nazev (bez .tar.cokoliv) a rozbalit pomoci tar s uvedenim vystupniho adresare pomoci -C nazev
find -iname '*.tar.*' -exec sh -c 'mkdir ${1%.tar*}; tar xvf ${1%} -C ${1%.tar*} && rm ${1}' _ {} \;
U souboru Soubor.tar.neco vytvori v miste slozku Soubor/ a obsah taru rozbali do nej ?
Kód: [Vybrat]
find -iname '*.tar.*' -exec sh -c 'mkdir ${1%.tar*}; tar xvf ${1%} -C ${1%.tar*} && rm ${1}' _ {} \;

Ostatni archivy, ktere mohou obsahovat vice souboru i adresaru takto:
Kód: [Vybrat]
find -regextype posix-extended -iregex '.*\.(arj|zip|rar|bz2|bz|z|bzip|bzip2|7z|jar)' -exec sh -c '7z x ${1%} -o${1%.*} && rm ${1}' _ {} \;
U gzip (ne tar.gz), kde je jen jeden soubor v archivu rozbbalim archiv takto (primo v miste, kde se nachazi, slozku nevytvarima archiv smazu)?
Kód: [Vybrat]
find -regextype posix-extended -iregex '.*\.(gz)' -exec sh -c '7z x ${1%} && rm ${1}' _ {} \;
## Nebo
find -regextype posix-extended -iregex  '.*\.(gz)'  | xargs gunzip -d
## Pricemz by se mel *.gz smazat, nebo se prida jeste:
find -regextype posix-extended -iregex  '.*\.(gz)'  | xargs rm


trubicoid2

Re:Nalezení a konvert obrázků
« Odpověď #20 kdy: 05. 09. 2015, 10:46:14 »
Co se ale stane, když PNG je i původní obrázek ? To by byl i výsledek smazát, takže u formátu PNG se např přez GIF musí.

ne, nemusis jit pres gif, muzes udelat treba toto:
Kód: [Vybrat]
find -regextype posix-extended -iregex '.*\.(png)' -exec sh -c 'convert ${1%} -depth 8 -type Palette -quality 95 /tmp/tmp.png && mv /tmp/tmp.png ${1}' _ {} \;vyhoda je, ze treba pruhlednost zustane a vyhnes se gifu

no nevim, ceho chces jako dosahnout a proc redukujes tu paletu? jen aby ty soubory byly mensi?
pak treba zrovna ten zopflipng jednak vic komprimuje a jeste pritom umi redukci palety a neviditelnych casti (pustit po konverzi vseho do png)
Kód: [Vybrat]
... zopflipng -m --lossy_8bit --lossy_transparent ${1%} /tmp/tmp.png ...jenom ten zopfli algoritmus je pomaly, takze velke --iterations a -m je pomale (muzes vynechat) a jestli i tak bude pomale, tak pridat -q

trubicoid2

Re:Nalezení a konvert obrázků
« Odpověď #21 kdy: 05. 09. 2015, 11:03:22 »
U souboru Soubor.tar.neco vytvori v miste slozku Soubor/ a obsah taru rozbali do nej ?

jezkovy, tak si to treba zkus, ne?  :o

U gzip (ne tar.gz), kde je jen jeden soubor v archivu rozbbalim archiv takto (primo v miste, kde se nachazi, slozku nevytvarima archiv smazu)?

no a proc gz neudelas stejne jako ostatni jednousoborove komprese bz2, xz, lzma, rzip? jestli nechces podadresar, tak proste vynech -o za 7z