wyłuskanie danych z plików

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
nur
Piegowaty Guziec
Piegowaty Guziec
Posty: 17
Rejestracja: 24 mar 2008, 15:51
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64

wyłuskanie danych z plików

Post autor: nur »

Witam ma pewien problem potrzebuję wyciągnąć pewne informację z dużej ilości plików.

Mam pliki w których (w większości z nich) zapisane są dane które mnie interesują (niestety te dane są wewnątrz dużej ilości opisów) ale są pewne stałe tzn jeśli występują to w konkretnym ustawieniu np.
Tytuł: i tu mam tytuł
wydawnictwo i tu mam nazwę wydawnictwa
opis i tu posiadam opis zajmujący parę linii

czy jest możliwość żeby automatycznie wyciągnąć te dane do innego pliku albo żeby z tego pliku skasować 99% nie potrzebnych danych.
Jeśli tak to będę wdzięczny za podpowiedz.
Później będę chciał zamknąć wszystko w pętli aby automatycznie przerobić wszystkie plik.

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

Odp: wyłuskanie danych z plików

Post autor: [r4] »

Oczywiście, że się da, choćby prostym

Kod: Zaznacz cały

cat plik | grep Tytuł | cut wyrażenie
Wszystko zależy od tego, w jaki sposób masz sformułowane te dane w pliku.
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.
Hagal
Sędziwy Jeż
Sędziwy Jeż
Posty: 41
Rejestracja: 11 sty 2009, 01:35
Płeć: Mężczyzna
Środowisko graficzne: Brak

Odp: wyłuskanie danych z plików

Post autor: Hagal »

@[r4] :
Ten "prosty" przykład wymaga 3 różnych poleceń.
Nie sądzisz, że sed jest bardziej odpowiedni ? :)


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

Odp: wyłuskanie danych z plików

Post autor: [r4] »

'[Prezes pisze:]@[r4] :
Ten "prosty" przykład wymaga 3 różnych poleceń.
Nie sądzisz, że sed jest bardziej odpowiedni ? :)


Pozdrawiam
Pewno, że tak (choć ja osobiście użyłbym gawk), ale chodziło o to, żeby go nakierować -- zna strukturę tych plików, wybierze sobie coś :)
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.
nur
Piegowaty Guziec
Piegowaty Guziec
Posty: 17
Rejestracja: 24 mar 2008, 15:51
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Odp: wyłuskanie danych z plików

Post autor: nur »

Dzięki za pomoc udało mi się dzięki Wam uzyskać to co chciałem
grep i sed okazały się bardzo pomocne

ale teraz mam jeszcze inne problemy chcę wydobyć coś z wiersza,
i czy można jakoś wyciągnąć z pliku:
1. dane zaczynające się od jakiegoś ciągu znaków do pierwszej spacji
np: (wyciągnięcie adresu www)
2. dane zaczynające się od jakiegoś wyrazu np. Tytuł i wszystko co występuje do jakiegoś znaku np. "." a potem znowu do innego wyrazu np opis do znaku .(kropka)

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

Odp: wyłuskanie danych z plików

Post autor: [r4] »

nur: najlepiej, gdybys podal konkretne przyklady :)

W tym pierwszym przypadku sprobuj cutem z opcjami

Kod: Zaznacz cały

cut -d" " -f1
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.
nur
Piegowaty Guziec
Piegowaty Guziec
Posty: 17
Rejestracja: 24 mar 2008, 15:51
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Odp: wyłuskanie danych z plików

Post autor: nur »

Witam.
Przykładowy plik do testów
<h1>Zdrowy Start. Zaprogramuj Swoje Dziecko na
Zdrowie!</h1>
<span class="simple gray_dark"> </span>

</div>

<div id="note">

<div class="rev_count">

[ <a href="#reviews" class="red underline" rel="nofollow">brak opinii</a> ]
</div>
</div>
<div class="cboth mbot10"></div>
<div id="summary" class="gray">

<div>
<ul>
<li>Autor: 
<a href="/szukaj?category=all&start=1&fr=on&pl=on&author=Agnieszka+G%C3%B3rniakowska&_dyncharset=UTF-8">Agnieszka Górniakowska</a>
</li>
<li>
<> Seria wydawnicza: <span>Dla rodziców</span>

</li>
<li>
Język książki:<span> polski</span>
</li>
<li>
Oprawa: <span>Twarda</span> 

Data wydania: <span>2009-02-12</span>

Po analizie tekstu doszedłem do wniosku, że dobrym rozwiązaniem dla mnie będzie wycięcie wszystkiego co znajduje się w nawiasach ostrych i kwadratowych wraz z tymi nawiasami, oraz pozostałem konkretne frazy np:  
Wtedy zostanie mi to czego potrzebuję.

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

Odp: wyłuskanie danych z plików

Post autor: [r4] »

Hm, a nie najprosciej bedzie uzyc parsera HTML i zapisac wynik do pliku tekstowego? Sa takie narzedzia, zdaje sie, ze html2txt sie to zwalo, albo jako podobnie -- poszukaj w Synaptiku.
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.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości