SED in GREP iskanje po besedilih | |||||
Zanima me, če se to sploh da. Če ma kdo kaj pojma o tem, bi bil zelo hvaležen... Lahko tudi z ukazom preko terminala. Nekaj sem probaval sam, a ne pridem kaj daleč. ----- Včasih (še na sistemu 9) sem za to uporabljal eno enostaveno aplikacijo AddStrip, ki pa je nimam več. Stvar je bila tako trivialna, da si sam vrgel file na ikono in dobil nov file z zamenjanimi znaki kot si jih nastavil. |
|||||
![]() |
|||||
![]() |
|||||
![]() |
|||||
Zadevo dobiš tukaj: http://dl.dropbox.com/u/8261657/preimenuj.zip Kako se uporablja? Programček premakneš v mapo, kjer želiš preimenovati datoteke... potem ga pa kličeš na ta način, kot je prikazano spodaj... Pozor! Aplikacija bo glede na tvoja navodila preimenovala vse datoteke znotraj mape, kjer se nahaja! Število "iz" in "v" argumentov je lahko poljubno (mora pa biti iz in v argumentov enako).
|
|||||
![]() |
|||||
A bi rad spremenil šumnike v vsebini datoteke ali v imenu datoteke? Če bi res rad uporabil sed, ti morda lahko pomaga sledeč primerček: jupiter:~ dejan$ echo "čevapčiči, žar, še" | sed -e 's/č/cc/g' -e 's/š/ss/g' -e 's/ž/zz/g' ccevapccicci, zzar, sse Kot vidiš, sed-u samo nanizas regex kaj hočeš zamenjati s čim. Ker sem dodal flag /g, ti sed dela zamenjave globalno cez celotno datoteko, tako da potreba po grep odpade. Lahko naredis recimo tako: cat bla.txt | sed -e 's/č/cc/g' -e 's/š/ss/g' -e 's/ž/zz/g' Seveda to moras razsiriti se za velike crke. |
|||||
![]() |
|||||
![]() Sem že nekaj časa tole premleval, a se nisem zbrihtal, da bi še na forumu vprašal. THX še enkrat, mi bo prišlo zlo prav. |
|||||
![]() |
|||||
Zdaj me pa grize še ena stvar: Kako bi naredil stvar bolj avtomatsko. Torej ne v terminalu, ampak direktno v Finderju. Recimo da bi bila ena ikonca (app, script, automator... karkoli pač) na katero bi vrgel file, zadeva bi pa izvedla SED ukaz, ki bi ga lahko poljubno spreminjal. Sem nekaj bral da lahko te ukaze vključiš v Automator (pa ne vem niti, kje bi se lotil) ... ![]() |
|||||
![]() |
|||||
* odpri AppleScript Editor * vpisi on open files_ set command_ to "sed -e 's/č/cc/g' -e 's/š/ss/g' -e 's/ž/zz/g'" repeat with file_ in files_ set pfile_ to POSIX path of file_ do shell script "cat " & pfile_ & "|" & command_ & " > " & pfile_ & "-2" end repeat end open * klikni Compile (seveda si lahko pred tem modificiras sed komando po lastni zelji) * shrani kot Application nekam na Desktop (lahko si pol to preneses tudi v Dock, ce zelis) * sedaj lahko kaksne koli datoteke zagrabis v Finderju in jih vrzes na to ikoncu (tudi vec hkrati). To ti bo v istem direktoriju, kot je original, naredilo datoteko, ki ima na koncu -2, vsebina pa bo imela zamenjane sumnike s cimer pac zelis. |
|||||
![]() |
|||||
thx javim kaj mi je ratal. |
|||||
![]() |
![]() |
![]() |
![]() ![]() ![]() |