Polecenie echo - bez kasowania pierwszej linii

Potrzebujesz pomocy z C, C++, perl, python, itp.
salo5
Posty: 18
Rejestracja: 24 czerwca 2009, 01:55

Polecenie echo - bez kasowania pierwszej linii

Post autor: salo5 »

Witam.

P
omału uczę się Debiana, jeszcze mało wiem, ale staram się.

Ostatnio poznaję crona, a jak go zrozumiałem, znów muszę się czegoś dowiedzieć. Mianowicie, w tle startuje mi program inadyn, który odświeża domenę dyndns. Program ten tworzy mi log, który np. po tygodniu ma dość wielki rozmiar.

Chciałbym ten log kasować i nawet coś takiego wymyśliłem:

Kod: Zaznacz cały

echo -n > plik
lub

Kod: Zaznacz cały

echo "" > plik
Ale czyści mi on cały plik.

W pierwszej linii pliku inadyn podaję, kiedy wystartował. W związku z tym, chciałbym zostawić tę linię, a wszystkie poniżej pierwszej wykasować.

Jak to zrobić?

Z góry dziękuję za pomoc.

Pozdrawiam!
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2341
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

A nie prościej dodać go do logrotate?
ewentualnie zawsze możesz zrobić w ten sposób:

Kod: Zaznacz cały

echo `head -n 1 plik.log` > plik.log
salo5
Posty: 18
Rejestracja: 24 czerwca 2009, 01:55

Post autor: salo5 »

Nie działa to polecenie...
Wyskakuje mi na w logu:

Kod: Zaznacz cały

head -n 1 plik.log

Awatar użytkownika
LordRuthwen
Moderator
Posty: 2341
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Zwróć uwagę na znaki: `` to nie to samo co ''.
salo5
Posty: 18
Rejestracja: 24 czerwca 2009, 01:55

Post autor: salo5 »

Wiem, mimo to niestety, ale pokazuje mi teraz:

Kod: Zaznacz cały

head -n 1
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2341
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Kod: Zaznacz cały

cat test.txt
linia 1
linia 2
linia 3
linia 4
root@test:~# echo `head -n 1 test.txt` > test.txt
root@test:~# cat test.txt
linia 1
root@test:~#
Awatar użytkownika
ryba84
Beginner
Posty: 340
Rejestracja: 08 lipca 2007, 14:55
Lokalizacja: LDZ

Post autor: ryba84 »

Ten znak to nie ' tylko `. Tam gdzie tylda na klawiaturze.
ODPOWIEDZ