Odpowiedz na ten temat
Pokaż wyniki od 1 do 2 z 2
  1. Avatar trelek2
    Dołączył
    Oct 2007
    Postów
    215

    Cytuj | #1

    Witam,

    potrzebuję wstawić literkę 'A' w 15 miejsce w każdej linijce od linijki numer 15,500 do 38,400 w pliku tekstowym.

    Mam różne programy zainstalowane począwszy od Aquamacs, Vim, TextEdit, TextMate....

    Może też być skrypt, po prostu nie wiem jak takowy napisać. próbowałem z 'awk' ale mi nie wychodzi...

    Chodzi o to, że pozostałe znaki w linijce muszą zostać na miejscu, ilość spacji musi się zgadzać itd....
    Jedyne co może się stać to podmienienie znaku 15 w linijce na literę...

    Na 100% to się da zrobić w VIM (Vi) ale dopiero dzisiaj go zainstalowałem i trochę mnie przerasta na początek a muszę na jutro przygotować pliki do puszczenia symulacji....

    Z góry dzięki za pomoc!
    I have a better idea... Why don't I caculate how much time you've just wasted?



  2. Dołączył
    Mar 2006
    Postów
    663

    Cytuj | #2

    cat intput.txt | awk 'BEGIN{min=15500;max=38400}
    {
    if (NR>=min && NR<=max)
    {
    {print substr($1,1,14) "A" substr($1,15)}
    }
    else
    {
    print
    }
    }'

    Całość przy założeniu, że znaki w linijce liczysz od 1, tak samo linie w pliku, a zamiana jest w <15500,38400>
    Komputer: MB 2.0 white PB1400c
    Odtwarzacz: iPod Shuffle

Odpowiedz na ten temat