Nowe posty

Autor Wątek: Pobranie części wiersza z pliku od momentu wystąpienia znaku/frazy  (Przeczytany 1989 razy)

Los_Pablos

  • Gość
Mam taki problem, w katalogu w którym znajdują się katalogi a w nich podkatalogi znajdują się pliki o takiej samej nazwie z których chcę pobrać wiersz w którym znajduje się ta sama fraza (dokładnie wiersz 2 w którym ta fraz występuje 2 raz).
Struktura wygląda mniej więcej tak
Katalog główny ..
 Podkatalog 1
  Podkatalog 2
   Podkatalog 3
    Plik

Zawartość pliku
linia 1 ...
linia 2 ...
linia 3 szukana_fraza
linia 4 ...
linia 5 szukana_fraza
linia 6 ...
linia .... itp

Przygotowałem taką komendę
find -maxdepth 3 -type f -name 'plik.txt' | xargs grep "fraza" > wynik.txt
chciałem jeszcze równocześnie dodać w potoku sed ale nie wychodziło mi to

wynikiem takiej komendy utworzony zostaje plik wynik.txt wyglądający mniej więcej tak
ścieżka pliku 1: wiersz z odnalezioną frazą
ścieżka pliku 2: wiersz z odnalezioną frazą
ścieżka pliku 3: wiersz z odnalezioną frazą
ścieżka pliku 4: wiersz z odnalezioną frazą

Jaki byłby sposób na przerobienie tego pliku tak aby usunąc z niego te ścieżki plików do momentu znaku ":" próbowałem poprzez sed ale bez skutku.

Czy może jest jakiś prostszy sposób na wyświetlenie tych wierszy w jednej komendzie poprzez zastosowanie potoków?

Z góry dziękuję za pomoc!

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3070
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Pobranie części wiersza z pliku od momentu wystąpienia znaku/frazy
« Odpowiedź #1 dnia: 2015-01-12, 15:21:43 »
Grzecznie poprosić grep-a o niedodawanie ścieżki?

Cytuj
-h, --no-filename: Wylcza poprzedzanie wynikow nazwami plikow podczas przeszukiwania wielu plikow.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Los_Pablos

  • Gość
Pobranie części wiersza z pliku od momentu wystąpienia znaku/frazy
« Odpowiedź #2 dnia: 2015-01-12, 23:04:01 »
Witam,
pięknie dziękuję :)