[bash] Wczytanie danych z pliku (2 linie) i kasowanie

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
ojdas
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 27 sie 2007, 14:50
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

[bash] Wczytanie danych z pliku (2 linie) i kasowanie

Post autor: ojdas »

Mam takie sobie skrypt:

Kod: Zaznacz cały

plik="baza.txt"
dane1=$(sed -n "1p" $plik)
dane2=$(sed -n "2p" $plik)
echo "$dane1"
echo "$dane2"
Jak zrobić aby z pliku baza.txt, który jest na bieżąco aktualizowany (dodawane nowe rekordy), i który ma takie dane:
ala ma kota
kot ma ale
jacek ma psa
pies ma jacka
[...]
dane były pobierane tylko raz:
ala ma kota
kot ma ale

i kasowane, czyli pobieranie zawsze 2 pierwszych aktualnych linii bez względu na ich długość, liczbę spacji, itp.?
Tak aby plik zawsze miał tylko te dane, które nie były wcześniej pobrane i przetworzone.

pzdr.
Piotr
[r4]
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1048
Rejestracja: 08 maja 2007, 07:40
Wersja Ubuntu: 12.10
Środowisko graficzne: Xfce
Architektura: x86

Odp: [bash] Wczytanie danych z pliku (2 linie) i kasowanie

Post autor: [r4] »

Uzyc bajeru w linuksowym systemie plikow, co sie zwie: plik specjalny FIFO. Ma wlasnie te magiczna wlasciwosc, o ktorej piszesz :) Mozna go utworzyc poleceniem

Kod: Zaznacz cały

mknod
I believe not drinking is actually the best way to not get a hangover in the first place.
Coincidentally, it's also the best way to not enjoy your life.
ojdas
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 27 sie 2007, 14:50
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

Odp: [bash] Wczytanie danych z pliku (2 linie) i kasowanie

Post autor: ojdas »

Próbowałem tak zrobić ale nie działa :(

Kod: Zaznacz cały

plik="baza.txt"
dane1=$(sed -n "1p" $plik)
dane2=$(sed -n "2p" $plik)
echo "$dane1"
echo "$dane2"
plik2="baza.txt"
deldane1=$(sed "1d" $plik2)
deldane2=$(sed "2d" $plik2)
echo > $plik2
Prośba o pomoc jak to można rozwiązać w przykładzie.
Procek
Sędziwy Jeż
Sędziwy Jeż
Posty: 31
Rejestracja: 25 lut 2007, 23:30
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Brak

Odp: [bash] Wczytanie danych z pliku (2 linie) i kasowanie

Post autor: Procek »

Z tego co mi wiadomo o FIFO to działa ono inaczej niż chce tego autor wątku. Autor potrzebuje czegoś w stylu stosu. Czyli można dodać wiersze tylko na początku pliku i ew. pobrać je również z początku. Jeśli nie o taki efekt chodzi to przepraszam za zamieszanie :)
marek_skwarek
Sędziwy Jeż
Sędziwy Jeż
Posty: 54
Rejestracja: 14 sty 2008, 10:55
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

Odp: [bash] Wczytanie danych z pliku (2 linie) i kasowanie

Post autor: marek_skwarek »

Kod: Zaznacz cały

head -2 baza.txt
tail +2 baza.txt > wynik1
mv wynik1 baza.txt
wiem, że toporne, ale chyba o to chodzi.
wesprzyj akcje:
używajcie linków na forum - ubuntu.pl/forum/viewtopic.php?t=66324
dodajemy [solved] - ubuntu.pl/forum/viewtopic.php?t=63205
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Amazon [Bot] i 2 gości