Přihlásit
: [1]
   |   
: srovnani seznamu  ( 2761 )
Ged
Full Member
***

Karma: 3
: 215


17002977
« : February 10, 2009, 10:10:53 »

Po dlouhe dobe jsem zacal delat poradek ve stazenych dokumentech. Zjistil jsem ze mam stazenych cca 600 html stranek s ruznymi navody a tipy.

Po pro mazani jsem se dostal na cislo cca 400 a tady zacina muj problem. Stranky jsou ulozeny ve formatu (soubor, soubor.htm, soubor.html) + adresar (soubor_sobory, soubor_files).

Pri promazavani jsem vsak smazal jen html soubory a slozky zustali na miste.

Premyslel jsem jak se techto prebytecnych slozek zbavit a nakonec jsem vyplodil tyto skripty:

:
rm -rf soubory
rm -rf adresare

for b in *; do echo $b | grep -v _soubory | grep -v _files >> soubory; done

for i in *_soubory; do echo "${i%_soubory}" >> adresare; done

for a in *_files; do echo "${a%_files}" >> adresare; done

Tim jsem ziskal dva seznamy "soubory" obsahujici html,htm a "adresare" obsahujici vsechny slozky. Nasledujici idea, pres kterou se nemohu dostat, bylo porovnat tyto seznamy a jejich rozdil tj. slozky ktere jsou navic predhodit rm-rf ke smazani.

Kamen urazu je prave to porovnani, ktere nemohu vyresit.

Cele je to komplikovane tim ze slozky maji koncovku  _soubory i _files a soubory html, htm nebo zadnou

Dekuji za rady
« : February 10, 2009, 12:23:50 Ged »

Jednou jsem ho videl na vanoce

Gold "3-Ethyl-1,2,2-trimethyl-bicyclo[2.1.0]pentane"

jabber: uranit@jabbim.cz
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #1 : February 10, 2009, 11:11:57 »

nepomohl by treba diff ?
syntax:
diff seznam1 seznam2

Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
Ged
Full Member
***

Karma: 3
: 215


17002977
« #2 : February 10, 2009, 11:55:55 »

Taky jsem zkousel ale vyleze z toho neco co obsahuje spoustu opicek okolo a zpracovani je obtizne pro me nemozne. Navic seznamy maji stejne polozky, ale ty jsou na jinych radcich.

Neco takovehoto:

:
bash-3.2$ diff adresare soubory                                                           
1c1,10                                                                                   
< ako-specificky-cislovat-listy-dokumentu                                                 
---                                                                                       
> |                                                                                       
> a                                                                                       
> á                                                                                       
> (about                                                                                 
> aboutMe                                                                                 
> adresare)                                                                               
> adresy                                                                                 
> ako-specificky-cislovat-listy-dokumentu.html                                           
> all                                                                                     
> aplikace                                                                               
3c12,14                                                                                   
< applety-desklety-vylepsete-si-desktop                                                   
---                                                                                       
> applety-desklety-vylepsete-si-desktop.html                                             
> archivátor                                                                             
> asociace                                                                               
5,16c16,30                                                                               
< baldurinstal                                                                           
< baldur mody                                                                             
< balicky z vyssich verzi                                                                 
< balicky z vyssich verzi2                                                               
< bashpodivat1                                                                           
< bashwikics                                                                             
< bash-4-dil                                                                             
< beagle-moc-locate-malo                                                                 
< blog:prestal_fungovat_virtualbox_v_linuxu                                               
< blog:2008:2009:0102_1727_skript_na_rozbalovani_archivu                                 
< convertvelikost                                                                         
< ct24vlinuxu
« : February 10, 2009, 11:58:24 Ged »

Jednou jsem ho videl na vanoce

Gold "3-Ethyl-1,2,2-trimethyl-bicyclo[2.1.0]pentane"

jabber: uranit@jabbim.cz
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #3 : February 10, 2009, 12:43:37 »

to melo byt spise popostrceni spravnym smerem. Predtim je treba celkove seznamy trochu upravit (napr. sedem ci awkem).
Co me napada, tak odebrat .html na koncich souboru a _soubory na koncich druheho seznamu. Dale bych sortem oba seznamy setridil
nakonec diff ...

Cele to psat nebudu, nechce se mi s tim tak moc pracovat a dival jsem se, ze bash celkem ovladas, takze vzhuru do toho

Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
Ged
Full Member
***

Karma: 3
: 215


17002977
« #4 : February 10, 2009, 12:58:45 »

No ja jsem ty seznamy upravil pomoci "expanze promenych" takze tedka resim spise jestli je diff vhodny, kdyz seznamy jsou ruzne dlouhe  a lisi se v poctu a umisteni polozek (radku). Jinak seznamy jsou az na polozky, co se tyce formatu "retezcu" identicke.

Nejak mi neni jasne jestli je diff to prave, pripadne zdali opomijim nejaky prepinac/parametr, ktery by vysledek nejak lepe naformatoval?

Jednou jsem ho videl na vanoce

Gold "3-Ethyl-1,2,2-trimethyl-bicyclo[2.1.0]pentane"

jabber: uranit@jabbim.cz
Hobil
Hero Member
*****

Karma: 58
: 4 006


« #5 : February 10, 2009, 23:12:13 »

:
  diff -r ADRESAR1 ADRESAR2
vypise jen soubory chybejici v druhem adresari
pred tim by bylo nutne sjednotit pripony
H.

Benzínem se nemá hasit ohniště
teď už je to jedno, ale pro příště... (K.P.)
Ged
Full Member
***

Karma: 3
: 215


17002977
« #6 : February 11, 2009, 14:03:42 »

Tak jsem za vydatne pomoci nasel castecne reseni:

Tak to funguje jen napul.

find . -type f | while read soubor; do
adresar=${soubor%.htm*};
if [[ -d "${adresar}_soubory" ]] || [[ -d "${adresar}_files" ]]; then
mv -f "$soubor" "${adresar}_files" "${adresar}_soubory" /home/ged/prechodne/vysledek;
fi
done



1. prepinac r pro mv jsem v man ani v helpu nenasel tak jsem ho odstranil
2. prenese se jen cast souboru a adresaru. Je to torchu divne ale je to presne jedna polovina tj 55 souboru

Vypisy:

puvodni obsah adresare:

http://uranit.wz.cz/file/pred.txt

co zustalo v adresari po skriptu:

http://uranit.wz.cz/file/potom_puvodni.txt

co se presunulo do adresare /home/ged/prechodne/vysledek:

http://uranit.wz.cz/file/potom_presunuto.txt

Jeste jsem zapomel zminit, ze nektere nazvy jsou tvoreny znaky: mezera, |, +

Jednou jsem ho videl na vanoce

Gold "3-Ethyl-1,2,2-trimethyl-bicyclo[2.1.0]pentane"

jabber: uranit@jabbim.cz
Ged
Full Member
***

Karma: 3
: 215


17002977
« #7 : February 11, 2009, 14:54:19 »

Tak jsem zkusil script pustit uz na jednou zfiltrovany adresar a svete div se zase se presunuly nejake soubory.

Projistotu jsem to zkusil jeste dvakrat a uz je vse ok.

Dekuji za trpelivost a rady.

Jednou jsem ho videl na vanoce

Gold "3-Ethyl-1,2,2-trimethyl-bicyclo[2.1.0]pentane"

jabber: uranit@jabbim.cz
: [1]
   |   
 
: