Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

sed - wypisywanie do osatniego wiersza

Aras07 03 Maj 2014 18:57 735 4
  • #1 03 Maj 2014 18:57
    Aras07
    Poziom 1  

    Witam, mam problem otóż posiadam pliki które mają następujący wygląd:

    Code:
    Nazwa
    
    Wiersz1
    Wiersz2
    Wiersz3
    .....

    Wiem jak wypisać wszystkie wiersze z konkretnego przedziału,
    Kod: bash
    Zaloguj się, aby zobaczyć kod

    natomiast nie wiem jak wypisać od 10 wiersza do ostatniego, ponieważ nie wiem ile wierszy liczy plik oraz polecenie będzie wykorzystywane do wielu plików o różnej wartości linii.

    Dlatego zwracam się z prośbą o pomoc, z góry dzięki.

    0 4
  • #2 03 Maj 2014 21:36
    krru
    Poziom 32  

    musi być sed, nie można tail?

    0
  • #3 11 Maj 2014 11:01
    hex0
    Poziom 11  

    krru napisał:
    musi być sed, nie można tail?


    Dokładnie. W tym przypadku łatwiej będzie skorzystać z polecenia tail, a sprawdzić ile linii jest w pliku możesz poleceniem wc -l

    Nie będę aż tak miły i nie napiszę całego kodu za ciebie, ale mogę podpowiedzieć, że możesz sobie przypisać ilość linii w pliku do zmiennej:

    iosc_linii=`cat [plik] |wc -l`

    Później możesz np użyć polecenia let, żeby dokonać prostego obliczenia które linie będą liniami od 10 do ostatniej i wyświetlić je:

    tail -${zmienna_z_iloscia_linii_do_konca_pliku} [plik]

    0
  • #4 11 Maj 2014 16:21
    krru
    Poziom 32  

    tail od razu potrafi wyświetlić linie od którejs do końca - trzeba podać liczbę ze znakiem +.

    0
  • #5 14 Maj 2014 16:11
    hex0
    Poziom 11  

    Zgadza się, ale w obu przypadkach wykorzystania polecenia tail, można najpierw sprawdzić ile linii jest w pliku, bo być może kolega chce wyświetlać rożne ilości linii, w zależności od pliku.

    0