|
|
|
|
 |
NevemTeve
2020-09-10 20:59:56
|
41911
|
awk ' BEGIN { regex=" *<([^>]*)>([^<]*)</[^>]*>"; } $0 ~ regex { tmp1=gensub(regex, "\\1", "g"); tmp2=gensub(regex, "\\2", "g"); if (tmp1=="key" && match (tmp2, "\\.wav$")) { savefn= substr (tmp2, 1, length(tmp2)-4); saveex= substr (tmp2, length(tmp2)-2, 3); } else if (tmp1=="string") { printf "%s_%s.%s\n", savefn, tmp2, saveex; } }' |
|
 |
Gorcsev
2020-08-29 11:40:25
|
41891
|
OK, essünk neki! :)
Első lépés.
Jól látcik, hogy pikk-pakk ki lehet válogatni a számodra lényeges sorokat. Csinálj egy fájlt, amiben csak ezek szerepelnek! Ehhez elég is a grep. |
|
A hozzászólás:
 |
Zzzutty
2020-08-29 11:29:42
|
41890
|
Ez az eleje:
<?xml version="1.0" encoding="UTF-8"?> <dict> <key>20190623 153022.wav</key> <dict> <key>name</key> <string>Gyorsvonat</string> <key>pid</key> <integer>7358384917780607225</integer> </dict> <key>20190623 153143.wav</key> <dict> <key>name</key> <string>Kerti Barkacsolas</string> <key>pid</key> <integer>-1991394609499053420</integer> </dict> <key>20190623 153539.wav</key> <dict> <key>name</key> <string>Szeles Erdei Seta</string> <key>pid</key> <integer>8148008888848428962</integer> </dict> Három key van, de csak az első fontos, "2019" a kezdete mindegyiknek. A string-et kell hozzácsapni a key-hez.
Ez legyen a végeredmény: 20190623 153022_Gyorsvonat.wav 20190623 153143_Kerti Barkacsolas.wav 20190623 153539_Szeles Erdei Seta.wav |
|
Előzmény:
 |
Gorcsev
2020-08-28 18:54:33
|
41889
|
"csak a grep-ről könyvet lehetne írni"
Ez igaz. Sz'tem van is :)
De többnyire elég a legegycerübb példákból kiindulni.
Mutass részletet az xml-ből, úgy könnyebb példát mondani!
Ha jól értem, az a cél, hogy pl. az izé.wav neveződgyék át izé_bigyó.wav-ra, ahol a 'bigyó' az xml-ben a fájlnév utáni sor tartalma. |
|
|
Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!
|