eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingtrochę NTG - edytor tekstowy z pracą na blokach tekstu › Re: trochę NTG - edytor tekstowy z pracą na blokach tekstu
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.unit0.net!news.glorb.com!peer01.iad.highwinds-media.c
    om!news.highwinds-media.com!feed-me.highwinds-media.com!nx01.iad01.newshosting.
    com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!news.dia
    log.net.pl!not-for-mail
    From: Tomasz Sowa <t...@N...ttmath.org>
    Newsgroups: pl.comp.programming
    Subject: Re: trochę NTG - edytor tekstowy z pracą na blokach tekstu
    Date: Thu, 7 Aug 2014 20:45:45 +0200
    Organization: Dialog Net
    Lines: 62
    Message-ID: <2...@s...ttmath.org>
    References: <lrq9f5$mri$1@usenet.news.interia.pl>
    <53e0b027$0$2164$65785112@news.neostrada.pl>
    <lrqm28$h5h$1@usenet.news.interia.pl>
    <a...@n...v.pl>
    <lrqo1o$l77$1@usenet.news.interia.pl>
    NNTP-Posting-Host: dynamic-78-8-103-208.ssp.dialog.net.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    X-Trace: news.dialog.net.pl 1407437157 11697 78.8.103.208 (7 Aug 2014 18:45:57 GMT)
    X-Complaints-To: a...@d...net.pl
    NNTP-Posting-Date: Thu, 7 Aug 2014 18:45:57 +0000 (UTC)
    X-Newsreader: Claws Mail 3.10.1 (GTK+ 2.24.22; amd64-portbld-freebsd10.0)
    X-Received-Bytes: 2973
    X-Received-Body-CRC: 3311985086
    Xref: news-archive.icm.edu.pl pl.comp.programming:206561
    [ ukryj nagłówki ]

    Witam, dnia Tue, 05 Aug 2014 16:00:23 +0200
    Adam <a...@p...onet.pl> napisał:

    > > Oczywiście znasz Awk ?
    >
    > oczywiście, że nie znam ;)
    >
    > Ale z opisu wynika, że jest to mocne narzędzie do przetwarzania
    > tekstu. W moim przypadku - nie widzę zastosowania :(
    > Brak jakichkolwiek punktów zaczepienia.

    Masz punkt zaczepienia -- białe znaki (separatory).

    > Byłby dobry, gdybym chciał zmienić jeden separator na inny - a w moim
    > przypadku jest nieco inaczej. Jest do pewnego momentu stała szerokość
    > kolumn, później przesunięcie przez ileś wierszy, później znów
    > przesunięcie, przykładowo:
    >
    > NR data opis
    > -- -------- ----------
    > 1 14/08/01 RazDwaTrzy
    > 2 14/08/02 inny opis
    > 3 14/07/30 werewr
    > (...)
    > 10 14/07/23 przesuniecie
    > 11 14/08/02 i tak dalej

    To nie jest problem, poprostu separatorem jest biały znak i to wszystko
    (szerokości kolumn z tekstem cie nie interesują). Jedynie trzeba uważać
    na białe znaki w trzeciej kolumnie.

    Twój przykład:
    $ cat test.txt
    1 14/08/01 RazDwaTrzy
    2 14/08/02 inny opis
    3 14/07/30 werewr
    10 14/07/23 przesuniecie
    11 14/08/02 i tak dalej

    Z użyciem awk to może być tak:
    $ cat test.txt | awk '{ printf("%s \";\" %s ",$1,$2); sub(/([^ ]+)[ ]+([^ ]+)[
    ]+/,"",$0); print $0; }'
    1 ";" 14/08/01 RazDwaTrzy
    2 ";" 14/08/02 inny opis
    3 ";" 14/07/30 werewr
    10 ";" 14/07/23 przesuniecie
    11 ";" 14/08/02 i tak dalej
    To sub() to taka sztuczka aby wydrukować całą trzecią kolumnę, bez tego
    wydrukowałoby się tylko do pierwszej spacji w trzeciej kolumnie.

    Można też z użyciem seda:
    $ cat test.txt | sed -E 's/([^ ]+)[ ]+([^ ]+)[ ]+(.*)/\1 ";" \2 \3/'
    1 ";" 14/08/01 RazDwaTrzy
    2 ";" 14/08/02 inny opis
    3 ";" 14/07/30 werewr
    10 ";" 14/07/23 przesuniecie
    11 ";" 14/08/02 i tak dalej


    --
    Tomek


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: