» »

Replace text with file name - 1000 ×

Replace text with file name - 1000 ×

johanblond ::

Situacija je sledeča
imam preko 1000 datotek, txt file z .xyz končnico
vsaka od teh datotek ima na istem mestu v datoteki v eni vrstici 5 zvezdic (*****)
v vsaki izmed teh datotek bi rad te zvezdice nadomestil z imenom datoteke (obvezno brez pike in kočnice)

Ker bom ročno to delal nekaj ur, bi rad zadevo avtomatiziral

Lahko kdo ponudi pomoč (lahko tudi npr kakšna skripta v Linuxu)

korenje3 ::

i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W

Zgodovina sprememb…

  • spremenil: korenje3 ()

johanblond ::

korenje3 je izjavil:

http://www.makeuseof.com/tag/how-to-fin...
http://findandreplace.codeplex.com/

oz če bi pogooglal.

Očitno nisem bil dovolj jasen.

v vsaki izmed teh datotek bi rad te zvezdice nadomestil z imenom le-te datoteke (obvezno brez pike in kočnice)
imam datoteko File1.xyz, v tej datoteki bi rad zamenjal ***** z File1
imam datoteko File756.xyz, v tej datoteki bi rad zamenjal ***** z File756

Oba predlagana programa pa zanata samo find/replace ponoviti v več datotekah

pegasus ::

Ena for zanka in sed v bashu? Trivial.

johanblond ::

pegasus je izjavil:

Ena for zanka in sed v bashu? Trivial.


Kakor za koga ;). Če nimaš ravno doktorata v programiranju.:8)

Se da komu spisat ?

prtenjam ::

"Se da komu spisat ?"

Zakaj se v Slo pričakuje, da programerji vse počnemo za zabavo? Na nobenem forumu v SLO še nisem videl da bi kdo napisal: "Ali se da komu popravit moj avto?"; ali pa "Ali se da komu prebelit moje stanovanje?". Na vseh forumih pa je vse polno želja, da bi programerji ljudem pisali skripte (ali ker celotne programe) tako malo, ker pač nimamo kaj pametnejšega početi.

:( Žalostno
Matjaž Prtenjak
https://mnet.si

harmony ::

prtenjam je izjavil:

"Se da komu spisat ?"

Zakaj se v Slo pričakuje, da programerji vse počnemo za zabavo? Na nobenem forumu v SLO še nisem videl da bi kdo napisal: "Ali se da komu popravit moj avto?"; ali pa "Ali se da komu prebelit moje stanovanje?". Na vseh forumih pa je vse polno želja, da bi programerji ljudem pisali skripte (ali ker celotne programe) tako malo, ker pač nimamo kaj pametnejšega početi.

:( Žalostno

Zalosten si sam. Jaz sem na avtomobilskih forumih srecal ljudi, ki so mi hoteli tudi kaj zastonj narediti ali zgolj za eno pijaco.

mgermo ::

Bom naslednjič mehaniku eno pivo prneso.

johanblond ::

prtenjam je izjavil:

"Se da komu spisat ?"

Zakaj se v Slo pričakuje, da programerji vse počnemo za zabavo? Na nobenem forumu v SLO še nisem videl da bi kdo napisal: "Ali se da komu popravit moj avto?"; ali pa "Ali se da komu prebelit moje stanovanje?". Na vseh forumih pa je vse polno želja, da bi programerji ljudem pisali skripte (ali ker celotne programe) tako malo, ker pač nimamo kaj pametnejšega početi.

:( Žalostno


No, vprašal sem, ker sem dobil odgovor da je trivialno.

Zame to pomeni, 7 vrstic, toliko tipkanja kot za tvoj odgovor.
Zame je to isto, da nekomu v dveh stavkih povem katera barva je po moje najboljša za barvanje stanovanje, kjer so 3 mali mulci, na pa kot barvanje stanovanja.

mgermo ::

Menjava gum je tut trivialna...

black ice ::

prtenjam ::

johanblond je izjavil:


No, vprašal sem, ker sem dobil odgovor da je trivialno.

Zame to pomeni, 7 vrstic, toliko tipkanja kot za tvoj odgovor.

Poglej, da ne bova zaplezala. Te razumem in pač pričakuješ pomoč, kar je super. Problem, ki sem ga izpostavil je v spoštovanju dela nekoga drugega. Dela preprosto ne moremo meriti po tem koliko časa traja, temveč koliko truda in znanja je vanj vloženega.

Ob tem se spomnim na zeloo dobro šalo, ki govori točo o tej tematiki. Človek pride k zobozdravniku z zeloooo razbolelim in čisto črvivim zobom. Zobozdravnik ga sprejme, ugotovi, da mora zob izpuliti, ga v 10 sec. izpuli ter izda račun za 25 EUR. Stranka gleda račun in gleda zobozdravnika ter se čudi:

-: "75EUR za 10sec dela? Pa kaj ste normalni; toliko ne zasluži Donald Trump!".
-: "Oh se oproščam, vam bom drugič zob pulil 2 uri ter vam računal 25 EUR!"

Torej ne vzami tega osebno, ker je to pač navada, ki je vseprivsotna in slučajno sem pač problem izpostavil v tvoji tematiki. Preden se kakorkoli jeziš name, poglej po spletu in boš videl da sem pomagal že več 100 ljudem. Ni problem v pomoči; vendar pa vedno pričakujem, da se bo uporabnik tudi sam potrudil in zaprosil za pomoč tam kjer res zmanjka znanja. Torej pokazal bo neko samo-iniciativo.

Ti potrebuješ skripto, ki to bo popravila 1000 datotek. To boš na roke verjetno počel kakšne 4 ure. Opcije so torej sledeče:
1. Ali to narediš sam na roke - 4 ure
2. Ali napišeš program, ki ti to naredi:
2.a) Če ga znaš napisati, SUPER - 10 minut dela in končano
2.b) Če ga ne znaš se ga naučiš - 1 dan učenja a znaš nekaj več in boš drugič hitrejši
2.c) Če ga ne znaš prosiš, da ga napiše nekdo drug
2.c.1) Čakaš, da ti to nekdo naredi povsem zastonj
2.c.2) Oceniš koliko je vrednih 4 ure tvojega življenja in ponudiš neko odškodnino. Torej, če ti kdo napiše ta program mu plačaš nekaj denarja ali napišeš kakšno nalogo (če si še v šoli) ali ga povabiš na pivo... Karkoli - Saj ni nujno da sploh sprejme - a če ponudiš, s tem pokažeš, da spoštuješ njegovo delo, da ga spoštuješ kot osebo in da ti je jasno, da je ta oseba v reševanje TVOJEGA problema vložila trud in znanje.

Kot rečeno - tole nikakor ne leti na avtorja te tematike osebno - pač ko sem ravno začel, da pač nadaljujem v tej tematiki in s tem odgovorim tudi uporabniku 'Harmony'. Torej Harmony sam praviš, da so ti avtomobil popravili za eno pivo. E, torej si prinesel eno pivo - nekaj je.

Cenite delo drugih in drugi bodo cenili vaše delo. Ne pozabite pa da 'ceni' ne pomeni nujno in samo 'v denarju'!

In da ne bom samo modroval ti pošiljam tudi rešitev v VBScriptu. Prekopiraj to v tekstovno datoteko in jo poimenuj pretvori.vbs. Pravilno vpiši mapo (druga vrstica) in končnico tvojih datotek (tretja vrstica), ter vpiši koliko x-ov želiš zamenjati 15-ta vrstica. Potem datoteko izvedi z ukazom cscript pretvori.vbs Ah, da pisano pa je tole za okolje OKEN!
  dim mapa: mapa = "c:\tmp\xx"
  dim koncnica: koncnica = "xyz"
  
	dim FSO:	Set FSO = CreateObject("Scripting.FileSystemObject")
  dim Fldr: Set Fldr = FSO.GetFolder(mapa)
  dim Files: Set Files = Fldr.Files
  
  for each file in Files
    if UCase(FSO.GetExtensionName(file)) = Ucase(koncnica) Then
      Dim datoteka: Set datoteka = FSO.OpenTextFile(file)
      Dim vsebina: vsebina = datoteka.ReadAll
      datoteka.Close
      
      vsebina = Replace(vsebina, "xxxxx", FSO.GetBaseName(file))
      
      Set datoteka = FSO.OpenTextFile(file, 2)
      datoteka.write vsebina
      datoteka.Close
    end if
  next

  Set Files = nothing
  Set Fldr = nothing
  set FSO = nothing 		
Matjaž Prtenjak
https://mnet.si

prtenjam ::

.
Matjaž Prtenjak
https://mnet.si

Zgodovina sprememb…

  • spremenil: prtenjam ()

opeter ::

Tole poskusi. Na prvo morda izgleda komplicirano, a verjemi, da dela čudeže, ko se enkrat navadiš nanj.

http://www.bulkrenameutility.co.uk/Down...

Hrabri mišek (od 2015 nova serija!) -> http://tinyurl.com/na7r54l
18. november 2011 - Umrl je Mark Hall, "oče" Hrabrega miška
RTVSLO: http://tinyurl.com/74r9n7j

johanblond ::

Super, hvala, deluje :-).

Spodobi se, da še jaz malo odgovorim :-).

prtenjam je izjavil:


Poglej, da ne bova zaplezala. Te razumem in pač pričakuješ pomoč, kar je super. Problem, ki sem ga izpostavil je v spoštovanju dela nekoga drugega.

Vem, da je znanje precej relativno, kar je za nekoga subatomska fizika, je za nekoga malenkost nevredna omembe. Izhajam iz tega, da smo na forumu, ker načeloma pomagaš z besedami, če znaš. Zaradi tega tudi poskušem spoštljiv v odnosu do vseh, tako da poskušam dat kar najbolj informativen naslov teme(ne pa POMOČ z 275 klicaji) in potem opisat problem kratko, vendar temeljito z vsemi relevantnimi informacijami. In pred vprašanjem kateri program naj uporabim sem tudi uporabil Google kar nekaj časa, vedno sem dobil odgovore kot find/replace za multiple files)

prtenjam je izjavil:


Dela preprosto ne moremo meriti po tem koliko časa traja, temveč koliko truda in znanja je vanj vloženega.

Spet, smo na forumu, jaz gledam na to koliko truda in znanja potrebuje za odgovor na moje vprašanje. Spet smo pri relativnosti znanja, nekdo je za to da zna odgovoriti na moje vprašanje uporabil 1 mesec da je pridobil to znanje, nekdo pa je to znanje pridobil v 30 min. Kot nestrokovnjak na tem specifičnem področju pravzaprav ne znam ocenit, kako zahtevno je to. Tudi pri meni v službi kdo omeni, da se je z neko računalniško stvarjo ubadal pol dneva, jaz pa mu povem odgovor v 10 sekundah (in dobro vem, da sem jaz tudi včasih porabil nekaj ur za rešitev nekega problema in da sem na ta način pridobil znanje). Če je zadeva enostavna, bo nekdo vložil 30 sekund časa in 150 udarcev po tipkovnici za odgovor, če ravno pač pozna odgovor, če pa ne, pač ne bom dobil odgovora bom pa naredil vse skupaj ročno (jaz sem ocenil da bi bila ena ura dovolj :-).
Se tudi povsem strinjam in bi razumel, da bi kdo odgovoril: "fant preveč sprašuješ, to se plača".

Verjetno te je še najbolj zmotilo" Se da komu spisat ?, bilo je mišljeno, as se komu da napisat kratek odgovor (tudi jaz imam skripte s 5 vrsticami, ki delajo čudeže, za to kar jaz potrebujem), ker očitno ni tako zahtevno (se pravi znaš z nekim solidnim znanjem računalništva), če to ounačiš kot trivialno (mogo v naši stroki trivialno jemljemo drugače). Imel sem občutek (z odgovori, kot je trivialno), da se nekomu zdi zelo fajn da zna in še bolj fajn da nekdo (jaz), da ne zna.

Se pa strinjam, da je tvoj odgovor, nekaj kar je spisano, in ko sem ga videl je tudi nekaj kar presega, kar lahko v splošnem pričakuješ za odgovor (ampak v naprej nisem vedel kaj pravazaprav prosim)

prtenjam je izjavil:


Cenite delo drugih in drugi bodo cenili vaše delo. Ne pozabite pa da 'ceni' ne pomeni nujno in samo 'v denarju'!


Upam, da sem z odgovorom pokazal da spoštujem tvoje/vaše (računalniško) delo, lahko se pa tudi po ZS domeniva za pivo/kavo/čaj/vodo.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Preimenovanje datotek

Oddelek: Pomoč in nasveti
71264 (1201) neki4
»

ASP in loop problem

Oddelek: Izdelava spletišč
101374 (1221) rap3r
»

Unix timestamp

Oddelek: Programiranje
162419 (1906) JeBelaCesta
»

virus problem

Oddelek: Pomoč in nasveti
14895 (782) DrSergioDJ
»

vkljucevanje txt datoteke v ...

Oddelek: Programiranje
131493 (1269) webblod

Več podobnih tem