Dotazy > Programování

Sloučení více souborů

<< < (2/2)

Roman Horník:
Jestli to chceš tak, jak píšeš (ale o víc sloupcích ses nezmínil), pak použij tenhle příkaz: sed 's/^[^:;]*://' < vstup > výstup
Odstraní všechno na začátku řádku po první oddělovač (:, ;), pokud tam ovšem je, a ten odstraní taky.

Pěkně vedle sebe (+ 3 řádky):

--- Kód: -----------------[Vstup]---------------|-------[Výstup]------
něco1:něco2                         |něco2
 něco1: něco2                       | něco2
něco1:něco2;něco3                   |něco2;něco3
něco1:něco2:něco3                   |něco2:něco3
něco1:něco2;něco3;něco4             |něco2;něco3;něco4
něco1::něco2                        |:něco2
něco1::;něco2                       |:;něco2
něco1něco2                          |něco1něco2
něco1 ;něco2                        |něco2
 ně   co1 : něco2                   | něco2
    něco1 :něco2   ;ně co3:něco4    |něco2   ;ně co3:něco4
--- Konec kódu ---

jahelka:
Tak ten poslední se již chová dobře, jen fungoval jen pro dvojtečku. V případě, že tam je středník, tak jej úplně ignoroval.
Opravil jsem ho následovně:

sed 's/^[^:]*://;s/^[^;]*;//' <vstup> výstup

Doufám, že to tak může být? Nemám s ním žádné zkušenosti. Jinak ještě jednou moc děkuji!

Edit: Tak po testování mi to ještě nefunguje pro variantu
--------------[Vstup]---------------|-------[Výstup]------
něco1:něco2;něco3                   |něco3

Roman Horník:
Jo aha, nevšiml jsem si, že to nebere středníky, ale budiž: sed 's/^[^;:]*[;:]//' < vstup > výstup

Furt se nemůžu zbavit pocitu, že tam vidím římskej rypák: ^[^ ;D

Navigace

[0] Seznam témat

[*] Předchozí strana

Přejít na plnou verzi