Przeszukiwanie i przetwarzanie plików


Spis treści

awk

awk - służy do przeszukiwania plików w poszukiwaniu wzorca lub zależności oraz przetwarza odpowiadające im linie; może być używane do obróbki pól tekstowych i danych liczbowych. Wywołanie: awk [-Fx] program [parametry] [pliki] - gdzie program jest zbiorem instrukcji (w postaci: wzorzec {akcja})

Opcje: Fx - dzieli plik na rekordy i pola, gdzie x jest separatorem pól

cat

cat - umożliwia wyświetlanie i łączenie plików Wywołanie: cat [-suvte] [pliki] Opcje:

  • e - tylko z opcją -v; wyświetla znak $ na końcu linii
  • s - nie wyświetla informacji o nie istniejących plikach
  • t - tylko z opcją -v; wyświetla znak tabulacji jako ^I
  • u - powoduje, że wyjście nie jest buforowane
  • v - pokazuje znaki niedrukowalne

Przykłady wykorzystania polecenia cat

  • cat test.c

plik test.c jest wyświetlany na ekranie, przy czym zawartość ekranu jest przewijana aż do końca pliku

  • cat test1 test2 > wynik

wyjście polecenia cat zostało przekierowane do pliku wynik , więc polecenie to utworzy plik wynik zawierający pliki test1 i test2

 

cmp

cmp - porównywanie zawartości dwóch plików; domyślnie wyświetla tyko pierwszą znalezioną różnicę. Wywołanie: cmp [-l -s] plik1 plik2 Opcje:

  • l - wypisuje numer i wartości różniących się bajtów
  • s - nie informuje o różnicach

Kod wyjściowy polecenia cmp:

  • 0 - pliki są identyczne
  • 1 - pliki różnią się
  • 2 - brak pliku lub brak praw dostępu do pliku

Przykłady wykorzystania polecenia cmp

  • cmp test1 test2

- porównuje pliki test1 i test2 i wyświetla różnice między nimi (tzn. linię i numer różniących się znaków)

  • cmp -l test1 test2

- wyświetla wszystkie różnice między plikami

cut

cut - służy do wycinania kolumn lub pól z pliku Wywołanie: cut -clista [pliki]cut -flista [-dznak] [-s] [pliki] Opcje:

  • -clista - pozostawia wyszczególnione w liście kolumny
  • -flista - pozostawia wyszczególnione w liście pola
  • -dznak - znak jest separatorem pól
  • -s - pomija linie bez separatora pól

Przykłady wykorzystania polecenia cut

  • cut -f1,5 -d' ' test1

wyświetla pola 1 i 5 z pliku test1 , przy czym przyjmuje się, że pola oddzielone są spacją ( -d' ' )

  • cut -c5-10 test1

wyświetla kolumny od 5 do 10 z pliku test1

 

diff

diff - porównuje dwa pliki i pokazuje różnice między nimi Wywołanie: diff [-befh] plik1 plik2 Opcje:

  • b - pomijanie znaków spacji i tabulatorów
  • e - tworzy zestaw instrukcji dla edytora ed, umożliwiający odtworzenie pliku plik2
  • h - niepełna informacja

Przykłady wykorzystania polecenia diff

  • diff test1 test2

wyświetla różniące się linie w plikach test1 i test2 z bieżącego katalogu, przy czym linie z pliku test1 poprzedzane są znakiem ">" , zaś linie z pliku test2 poprzedzane są znakiem ">"

 

find

find - wyszukiwanie podanych plików w katalogach (wraz z podkatalogami) Wywołanie: find katalogi pliki - przeszukuje podane katalogi, aby znaleźć wymienione pliki, przy czym pliki może to być nazwa pliku, wzorzec nazwy, wielkość pliku, data ostatniej modyfikacji, itd.

 

grep

grep - wyszukuje w plikach linie z podanym wzorcem i wyświetla je Wywołanie: grep [-vclnbs] wzorzec [pliki] Opcje:

  • v - wyświetlanie linii nie zawierających wzorca
  • c - wyświetlanie liczby zmienionych linii dla każdego pliku oddzielnie
  • l - wyświetlanie nazw plików, w których znaleziono line odpowiadające wzorcowi
  • n - poprzedza linię jej numerem
  • s - nie wyświetla komunikatów o błędach przy dostępie do plików
  • wzorzec - jedno słowo lub ciąg znaków

Przykłady wykorzystania polecenia grep

  • grep 'pies' test

wypisuje wszystkie linie pliku test , które zawierają wyraz pies

  • grep dom *

przeszukuje pliki znajdujące się w bieżącym katalogu w poszukiwaniu słowa dom i wyświetla znalezione linie wraz z nazwami plików

 

 

join

join - łączy odpowiadające sobie linie z dwóch plików. Domyślnie polem łączącym jest pierwsze słowo w każdej linii Wywołanie: join plik1 plik2 Przykłady wykorzystania polecenia join

  • Polecenie

join test1 test2 łączy odpowiadające sobie linie z podanych plików, tzn. łączone są te kolejne linie, w których pierwsze słowo jest takie samo. Powtarzające się słowo jest wyświetlane tylko raz.

sed

sed - wykonuje zestaw poleceń edycyjnych na zawartości pliku Wywołanie: sed [-n] [-e skrypt] [-f plik_skryptu] [pliki] Opcje:

  • n - nie wyświetla przetworzonych linii
  • e skrypt - zestaw poleceń, które mają zostać wykonane
  • f plik_skryptu - polecenia edycyjne są zawarte w plik_skryptu

split

split - dzieli plik na mniejsze części Wywołanie: split [-n] [plik[przedrostek]] Opcje:

  • n - dzieli plik na części po n linii ; domyślnie n=100
  • przedrostek - pierwszy plik wyjściowy jest nazywany przedrostekaa, następny przedrostekab,

itd; domyślnie przedrostek=x Przykłady wykorzystania polecenia split

  • Polecenie

split -10 test ts podzieli plik test na części po 10 linii, przy czym pierwsze 10 linii jest kopiowane do pliku tsaa , następne 10 do pliku tsab , itd.

  • split test

podzieli plik na części po 100 linii, przy czym kolejne części będą zapisywane do plików aa, ab, ac , itd.

tail

tail - wyświetla końcowe linie pliku Wywołanie: tail [+/-liczba[lc]] [nazwa_pliku] Opcje:

  • +liczba - wyświetla podaną liczbę linii od końca pliku
  • -liczba - wyświetla linie, zaczynając od linii o podanym numerze do końca pliku
  • l - liczba oznacza linie
  • c - liczba oznacza znaki

Przykład wykorzystania polecenia tail

  • tail nazwa_pliku

- wyświetla ostatnie 10 linii pliku nazwa_pliku

  • tail +100 nazwa_pliku

- wyświetla ostatnie 100 linii pliku nazwa_pliku

paste

paste - pozwala na łączenie kolejnych linii jednego pliku lub odpowiadających sobie linii z różnych plików. Wywołanie:

  • paste [-dznaki] pliki

- łączy odpowiadające sobie linie z podanych plików w jedną i wysyła ją na standardowe wyjście, przy czym między łączone linie wstawiane są kolejne znaki

  • paste -s [-dznaki] pliki

- każda linia pliku jest dodawana do poprzedniej

pg

pg - dzieli oglądany tekst na strony wielkości jednego ekranu Wywołanie: pg [-opcje] [pliki] Opcje:

  • e - nie zatrzymuje się po każdej stronie
  • f - nie dzieli linii
  • +numer - zaczyna wyświetlać od linii o podanym numerze

Przykłady wykorzystania polecenia pg

  • pg test1.c test2.c

wyświetla najpierw zawartość pliku test1.c po czym wypisuje komunikat EOF, przyciśniecie klawisza enter powoduje wyświetlenie zawartości pliku test2.c

  • Poruszanie się po pliku:
  • 10

- do przodu do 10 ekranu

  • +10

- do przodu o 10 ekranów

  • -5l

- 5 linii do tyłu

  • enter

- do przodu o jeden ekran

  • skok

- do następnej linii z napisem skok

more

more - wyświetla zawartość pliku Przykłady wykorzystania polecenia more

  • more test.c

powoduje wyświetlenie zawartości pliku test.c , przy czym wyświetlany jest jeden ekran, a wyświetlenie kolejnego ekranu następuje po wciśnięciu spacji