eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingbash -- dziwaczny znak powrotu karetki w Unix Tools
Ilość wypowiedzi w tym wątku: 1

  • 1. Data: 2010-08-07 06:37:28
    Temat: bash -- dziwaczny znak powrotu karetki w Unix Tools
    Od: "slawek" <s...@h...pl>

    Skrypt ma znaleźć liczbę linii pewnego pliku foo.txt i umieścić ją w
    zmiennej lines, a potem wywołać polecenie cmd z zakresem linii, np.
    usercommand 1-69 :

    lines=`cat foo.txt | wc - l | sed 's/ //g'`
    echo "$lines"
    usercommand 1-$lines

    Czyli wc nie wyświetla nazwy pliku, sed wycina początkowe
    spacje.Teoretycznie powinno działać, ale pod bash z Unix Tools (tj. powłoka
    bash dla MS Windows plus przekompilowane programiki "linuksowe") rezultat
    jest dziwaczny - komenda cmd jest zamazywana przez znalezioną liczbę linii,
    np:

    1-69command

    zamiast spodziewanego

    usercommand 1-69


    Pomaga zmiana w skrypcie bash:

    lines=`cat foo.txt | wc - l | sed 's/ //g' | tr -d '\r'`
    echo "$lines"
    usercommand 1-$lines

    usuwająca znak powrotu karetki - czyli to co różni od siebie "windowsiane
    \n" od "uniksowego \n". (Zapisane zmiennej lines w pliku ujawniło że tam
    jest.)

    Czyżby błąd w UnixTools? A może ja coś źle robię?

    slawek

strony : [ 1 ]


Szukaj w grupach

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: