SED - odstranenie znakov
Dotaz na sed, nasiel som tento nastroj, zda sa vynikajuci, ale aj zlozity. Potrebujem zo suboru odstranit vsetko medzi <PmtId> a </PmtId>, resp nemusi byt ako od vzoru po vzor, ale odstranit ako jeden vzor, vypisem si cely retazec
standardne znaky nieje problem, aj vlozit, ale to lomitko mi robi problem
Třeba tak: https://stackoverflow.com/questions/44369398/how-to-replace-any-text-between-html-tags
Diky, nieje to presne ono, ale pomohlo . . . znak \
A nevies ako spom spojil dva prikazy? Jeden tento na zmazanie a druhy na vlozenie retazca, takto to mam kazde samostatne, kludne aj bat subor, ak by to bolo jednoduchsie ako
sed 1.txt > aa.txt
sed aa.txt > hotovo.txt
delete aa.txt
A bezim to pod win, nie linux
Tak ty tři příkazy napiš pod sebe do bat souboru, v čem je problém?
V podstate žiadny, len som chcel vedieť či existuje nejaké elegantnejsie riešenie, napr priamo v sed-e alebo nejakym zretazenim výstup - vstup
A nechceš vlastně použít --in-place volbu?
https://archive.is/cLlnm#selection-795.0-829.59
Ano, aj to som zvazoval, ale kedze v druhom kroku sa pridavaju nejake retazce, takze uzivatel iniciativne po spusteni viackrat dostane nezmysel, nakolko by sa po kazdom spusteni pridavali tie znaky
V tom případě prostě:
diky, skusim, Zatial som zapasil s tym, ako nastavit premenne lebo nazov suboru je kazdy mesiac iny - podla datumu . . .
Dik.
Název souboru můžeš předávat jako parametr tomu bat souboru.
Pak stačí např. v Total Commanderu se postavit na soubor a Ctrl+Enter se zkopíruje název souboru do příkazového řádku...
To uz som vyriesil, v podstate som to spravil tak, ze bat si vypyta obdobie, za ktory sa subor spracovava, a vstup uz si rozparsujem na pozadovane casti, den, mesiac, rok . . . podla toho je nazov suboru, a bude aj vysledok . . .akurat mi to dlhsie trvalo
Myslíš něco jako tohle?
Diky, ale tomuto vobec nerozumiem
dal som dva prikazy do bat pod seba, so skeundovym zdrzanim medzi nimi . . .
zatial mi to funguje podla zameru , co sa teda divim
este raz dik
já tam mám různé příkazy v tom parametru, oddělené středníky. Každý z těch příkazů používá jiný oddělovač (@/#) (ne, že by to bylo nutné, ale dá se takhle ušetřit spousta escapování tím, že se jako oddělovač použije něco, co se ve výrazu nevyskytuje a pak to není potřeba escapovat). Data se čtou ze souboru aa.txt a výstup je přesměrován do souboru bb.txt
mění se:
neco za cosi (třetí parametr g = i víckrát na jednom řádku - globaly)
prvni za druhy
tohle za tamhle
(a samozřejmě, že v praxi tam budou spíš regulární výrazy a substituce)