Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Hromadné vytvoření složek

Vypises si ta jmena starych slozek do textoveho souboru
ten textovy soubor otevres v editoru, co umi regularni vyrazy (nebo aspon nejake pokrocile nahrazovani)

pokud umi regularni vyrazy, tak pouzijes s/ *\([0-9]*\)\( *\)\(.*[^ ]\) */rename "\1\2\3" "\3"

pokud neumi regulerni vyrazy, (tady se budu ve slozenych zavorkach{} odkazovat na kousky toho regularniho vyrazu, co to delaji protoze to neumim lip viditelne uzavorkovat), tak hromadne nahradis {s/} vyraz skladajici se z libovolneho poctu mezer { *} nasledovanym libovolnym poctem cifer (a ten si zapamatujes jako \1) {\([0-9]*\)\} nasledovanym libovolnym poctem meze (a zapamatujes si to jako \2 {\( *\)} nasledovany libovolnym poctem znaku nasledovanym znakem ruznym od mezery (a zapamatujes si to jako \3 {\(.*[^ ]\)} nasledovanym libovolnym poctem mezer { *} a nahradis to {/} prikazem k prejmenovani (coz je na win tusim rename, pokud ne, tak pouzij ten spravny) {rename} nasledovanym mezerou pro odeleni { } a tim jmenem souboru v uvozovkach (tedy 1,2 a 3 cast - cislice mezery jmeno){"\1\2\3"} mezerou pro oddeleni { } a tim, na co se to ma prejmenovat, cili jmenem, 3. casti v uvozovkach {"\3"}

tim dostanes z radku typu
0000001 Jan Kadlec
radek typu
rename "0000001 Jan Kadlec" "Jan Kadlec"

Nacez tento soubor ulozis jako neco.BAT a spustis ho prikazem neco.BAT v tom adresari, kde mas ty stare soubory
a z adresare
0000001 Jan Kadlec
se stane adresar
Jan Kadlec

tim se ty stare soubory zbavi starych cisel a zustanou jen unikatni jmena

obdobne vypises nove tvary do souboru, pouzijes s/ *\([0-9]*\)\( *\)\(.*[^ ]\) */rename "\3" "\1\2\3"
tim z
4685126574 Jan Kadlec
dostanes
rename "Jan Kadlec" "4685126574 Jan Kadlec"
ulozis to jako cosi.BAT a to cosi.BAT spustis, takze se to z jednoznacnych jmen {\3} prejmenuje na nove cislo prislusny pocet mezer a to jmeno {"\1\2\3"}
a z adresare
Jan Kadlec
se stane
4685126574 Jan Kadlec

protoze to udelas pro vsechny radky v tom souboru naraz, tak se vzdy prejmenuje vsech 450 souboru naraz

(coz je ta "mensi magie", kde se to dela o jednotlivych krocich, celkem viditelne spravnych
vetsi magie, ktera funguje v linuxu s prikazy sed (stream editor) a sh(shell) a mv(move - presunuti/prejmenovani) je vyexportovat soubory stare.txt a nove.txt a napsat radek

sed 's/ *\([0-9]*\)\( *\)\(.*[^ ]\) */mv "\1\2\3" "\3"/' stare.txt |sh;sed 's/ *\([0-9]*\)\( *\)\(.*[^ ]\) */mv "\3" "\1\2\3"/' nove.txt|sh

a je hotovo)

coz je taky duvod, proc pouzivam linux a ne windows, protoze tam muzu delat veci proste jednoduse (jako tento priklad) i v mnoha slozitejsich situacich, zatimco na windows bych pro to potreboval radu ruznych naklikatoru a resil to dost prez ruku. Navic, kdyby hrozilo, ze to budu delat vickrat, tak tam muzu tohle ulozit snadno do skriptu, co by bral dva parametry, (stary a novy soubor), zkontroloval by je na spravnost a pokud by to sedelo, tak tohle udelal, takze bych ten skript volal jednoduse precisluj stary.txt novy.txt a bylo by po starosti, zatimco pokud bych to delal jednorazove, tak to proste napis na radku rovnou a bude
A to je tohle fakt celkem jednoducha vec, predstav si, ze bys mel vzit adresarovou strukturu, ulozit jeji obsah tak, aby byl strojove zpracovatelny, spocist kontrolni soucty, udelat k tomu webovou stranku (u obrazku samozrejme i jejich rozmery, u filmu cas a tak), vypalit to na CDcko a overit, ze se to vypalilo bezchybne - tohle jsem si tam naskriptoval napriklad taky a mnohe jine veci)

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny