Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii. Materiały pomocnicze do zajęć z przedmiotu SYSTEMY OPERACYJNE
|
|
- Marta Wilk
- 7 lat temu
- Przeglądów:
Transkrypt
1 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Materiały pomocnicze do zajęć z przedmiotu SYSTEMY OPERACYJNE Kod przedmiotu: F***** Ćwiczenie pt. OPERACJE NA PLIKACH TEKSTOWYCH W SYSTEMIE LINUX: AWK, GREP Pracownia numer 8 Autor: Jarosław Forenc (2004) Aktualizacja: Jarosław Forenc (2006) Białystok
2 1. PROGRAM AWK awk jest programem przetwarzającym wzorce tekstów i tworzącym raporty. Posiada on własny język pozwalający na przetwarzanie plików ASCII, wyszukiwanie występujących w nich pól i fragmentów tekstów, ich modyfikację, przeprowadzanie na nich obliczeń i formatowanie wyprowadzonych wyników. awk jest językiem programowania, w którym wiele konstrukcji zostało zaczerpniętych z języka C. Język awk zawiera zmienne, tablice, pętle, itp. Wywołanie awk ma jedną z dwóch postaci: awk [ Fseparator] program_awk plik... awk [-Fseparator] f skrypt_awk plik... awk przetwarza plik wejściowy lub jeśli nie podano pliku standardowe wejście, a wynik działania wyprowadza na standardowe wyjście. Polecenia przetwarzania podawane są w postaci programu napisanego w języku awk. Program ten moŝe być umieszczony bezpośrednio w linii polecenia (program_awk) lub umieszczony w pliku i wywołany poprzez -f skrypt_awk. W pierwszej postaci treść programu umieszcza się w apostrofach. Drugi format zalecany jest w przypadku bardziej złoŝonych programów awk, gdyŝ umoŝliwia on wielokrotne uŝywanie i łatwiejszą modyfikację programu. Opcja -F pozwala określić znak separatora pól uŝywany do dzielenia wiersza pliku wejściowego na pola. Pominięcie tej opcji oznacza przyjęcie spacji i tabulacji jako znaku rozdzielającego. Program w języku awk (program_awk, skrypt_awk) składa się z opcjonalnej części inicjalizującej, właściwego przetwarzania i opcjonalnego zakończenia. Struktura pliku z częściami opcjonalnymi wygląda w następujący sposób: BEGIN { akcje_początkowe } [ kryterium_1 ] [ { akcja_1 } ] [ kryterium_2 ] [ { akcja_2 } ]... END { akcje_końcowe } - opcjonalna część inicjalizująca - opcjonalna część zakończenia Akcje_początkowe wykonywane są przed przetworzeniem pierwszej linii pliku wejściowego. Akcje_końcowe wykonywane są po przetworzeniu wszystkich danych wejściowych, zostaną one wykonane takŝe w przypadku, gdy program zostanie wcześniej zakończony poprzez instrukcję exit. Ogólna postać instrukcji wygląda następująco (nawiasy klamrowe są częścią składni i muszą występować): [ kryterium ] [ { akcja } ] 2
3 Wykonywanie programu odbywa się w ten sposób, Ŝe awk czyta linię wejściową i sprawdza czy spełnione jest kryterium_1, tzn. czy wzorzec będący kryterium_1 odpowiada bieŝącemu wierszowi. Jeśli tak, to wykonywana jest akcja_1 (sekwencja akcji oddzielonych od siebie średnikiem lub znakiem nowej linii). Następnie sprawdzane jest kryterium_2, itd. Po przejściu przez wszystkie kryteria i akcje wczytywana jest następna linia wejścia i cały proces powtarza się. Jeśli w instrukcji brakuje kryterium, to wszystkie akcje tej instrukcji wykonywane są dla wszystkich linii wejścia. Jeśli w instrukcji brakuje akcji, to niezmieniona linia jest wypisywana na wyjściu standardowym. Jeśli natomiast wykonywana jest akcja, to wiersze nie są automatycznie przesyłane na standardowe wyjście (trzeba wykorzystać do tego celu polecenie print). Po wczytaniu linii wejścia jest ona dzielone na pola, którym kolejno przypisywane są zmienne $1, $2, itd. Zmienna $0 zawiera całą linię. Podział linii na pola odbywa się na podstawie separatorów pól zapisanych w zmiennej FS (określonych za pomocą opcji -F). Separatorem domyślnym jest spacja lub tabulacja. Po podzieleniu wiersza na pola, kaŝde pole moŝe być przetwarzane niezaleŝnie, np. $ awk { print $3 } plik1 - wyświetla trzecie pole wszystkich linii z pliku plik1. Jako kryterium moŝe występować: wyraŝenie regularne w postaci /wzór/ w takim przypadku kryterium jest tekstem lub wzorem tekstu w postaci /wzór/, np. $ awk /napis/ plik1 - wyświetla wszystkie linie z pliku plik1 zawierające tekst napis, w przykładzie tym nie ma zdefiniowanej akcji (wykonywana jest domyślna akcja), zakres wierszy /wzór_1/,/wzór_2/ zakres ten oznacza wszystkie linie od tej, w której po raz pierwszy wystąpił wzór_1, aŝ do tej, w której wystąpił wzór_2 (łącznie z tą linią), np. $ awk /napis1/,/napis2/ plik1 - wyszukuje w pliku plik1 linię zawierającą napis1, wyświetla wszystkie linie począwszy od tej, aŝ do linii zawierającej napis2 włącznie, następnie ponownie poszukuje linii zawierającej tekst napis1, itd., wyraŝenie relacyjne w takim przypadku rozkazy zawarte w części operacyjnej zostaną wykonane tylko wtedy, gdy relacja jest spełniona lub wyraŝenie zwraca wartość 3
4 prawda, wyraŝenia relacyjne mogą być tworzone w następujący sposób: wzorzec && wzorzec (and), wzorzec wzorzec (or),!wzorzec (not), np. $ awk $1 == tekst plik1 - sprawdza czy pierwsze pole zawiera napis tekst, jeśli warunek jest prawdziwy to wiersz jest wyświetlany, połączenie powyŝszych moŝliwości np. $ awk /^t1/ && /t2$/ plik1 - wyświetlenie tych linii pliku plik1, które rozpoczynają się napisem t1 i kończą napisem t2, We wzorach mogą występować metaznaki (znaki globalne): Metaznak Funkcja. dowolny znak (oprócz nowej linii).* dowolny łańcuch (równieŝ pusty) * dowolne powtórzenie [...] kaŝdy znak z... [^...] Ŝaden znak z... ^ na początku linii $ na końcu linii \(...\) zgrupowanie \ maskowanie metaznaku? powtórzenie 1 raz (lub 0 razy) + jednokrotne lub wielokrotne powtórzenia ^wzór na początku linii wzór$ na końcu linii a b a lub b W polu akcja umieszczane jest jedno lub wiele poleceń, które określają działanie dla bieŝącego wiersza. KaŜde polecenie w akcji oddzielone jest średnikiem, znakiem nowej linii lub znakiem prawego nawiasu klamrowego. Wszystkie polecenia muszą się znaleźć między nawiasami klamrowymi. W programach w języku awk moŝna wykorzystywać: stałe stałe numeryczne są liczbami całkowitymi lub zmiennoprzecinkowymi (zapis liczb taki sam jak w języku C), stałe tekstowe ujmowane są w cudzysłów tekst, sam znak cudzysłowu w stałej tekstowej musi być maskowany znakiem \, czyli \, 4
5 zmienne zmiennych nie deklaruje się, rodzaj zmiennej (numeryczna, znakowa) zaleŝny jest od kontekstu, zmienne nie są poprzedzane znakiem dolara, występują dwa rodzaje zmiennych: proste i indeksowane (tablice), element tablicy oznaczany jest poprzez zmienna[indeks], w awk występuje kilka zmiennych predefiniowanych: $0 - aktualnie przetwarzana linia wejścia $i - i-te pole aktualnie przetwarzanej linii wejścia FILENAME - nazwa bieŝącego pliku wejściowego FS - separator pól wejściowych (wartością standardową są białe znaki - spacja, tabulacja), predefiniowanie separatora pól na inny znak: FS=znak, powrót do ustawień standardowych: FS= NF - liczba pól bieŝącej linii wejściowej po podziale przy uŝyciu separatora FS NR - numer bieŝącej linii wejściowej OFMT - format wyjścia dla liczb, standardowo %.g OFT - separator pól wyjściowych, standardowo jest to spacja ORS - separator linii wyjściowych, wartością standardową jest znak końca wiersza RS - separator linii wejściowych, wartością standardową jest znak końca wiersza wyraŝenia w wyraŝeniach mogą występować: - operatory arytmetyczne: +, -, /, *, % (dzielenie modulo), - operatory porównania: <, <=, ==,!=, >=, >, - operatory logiczne: &&,, ~ (jest zawarte w),!~ (nie jest zawarte w), - operatory języka C: ++, --, +=, -=, *=, /=, %=. WyraŜenie traktowane jest jako wyraŝenie numeryczne lub operacja na łańcuchach znaków w zaleŝności od jego elementów. Aby wyraŝenie było traktowane jako wyraŝenie numeryczne moŝna dodać do niego zero +0. Aby wyraŝenie było interpretowane jako wyraŝenie tekstowe, to moŝna osiągnąć to poprzez jego konkatenację z pustym łańcuchem. instrukcje uŝycie instrukcji jest takie samo jak w języku C, instrukcje mogą występować w wyraŝeniach, do podstawowych instrukcji naleŝą: 5
6 if ( warunek ) { instrukcje_1 } [ else { instrukcje_2 } ] - jeśli warunek jest spełniony wykonywane są instrukcje_1, w przeciwnym wypadku - instrukcje_2, while ( warunek ) { instrukcje } - instrukcje są wykonywane dopóki warunek jest prawdziwy, for ( wyraŝenie; warunek; wyraŝenie ) { instrukcje } - działa tak samo jak pętla for w języku C, break - przerwij wykonywanie pętli, w której umieszczone jest polecenie break i wznów działanie od polecenia występującego za końcem pętli, continue - rozpocznij wykonywanie następnej iteracji pętli, { [ instrukcja ]... } - wykonaj instrukcję, print [ lista_wyraŝeń ] [ przeadresowanie ] - drukuj wyraŝenia na standardowym wyjściu, wyraŝenia (zmienne) muszą być rozdzielone przecinkami, printf format [, lista_wyraŝeń ] [ przeadresowanie ] - drukowanie wzorowane na funkcji printf języka C, zmienna = wyraŝenie - przypisz zmiennej wartość wyraŝenia, next - pomiń sprawdzanie następnych wzorców dla tego wiersza, exit wyraŝenie - pomiń resztę wierszy pliku wejściowego i przejdź do END jeśli istnieje # komentarz - wstawienie tekstu komentarza, Przeadresowanie moŝe mieć następującą postać: > plik (przeadresowanie), >> plik (dopisanie), program (przekazanie przez potok). funkcje numeryczne exp(x) - wartość funkcji exp(x) int(x) - część całkowita wartości numerycznej log(x) - wartość funkcji ln(x) sqrt(x) - pierwiastek kwadratowy length(x) - liczba znaków (w bajtach) ciągu x length - długość aktualnej linii $0 atan2(x) - wartość funkcji arctan(x) cos(x) - wartość funkcji cos(x) 6
7 rand(x) - liczba losowa z zakresu <0,1> srand(x) - inicjalizacja generatora liczb losowych dla rand(x) $ awk { if (length < 10) print $0 } plik1 - wypisanie wszystkich linii pliku plik1 o długości mniejszej od 10 (brak kryterium), $ awk BEGIN { N = 0 } - wypisanie ilości linii zawierających napis tekst, /tekst/ { N = N + 1 } END { print N } plik1 ZałóŜmy, Ŝe plik osoby zawiera następujące dane: Jan Kowalski Adam Nowak Piotr Kruk Jacek Niski Marcin Mrozek Przy czym poszczególne kolumny oznaczają: imię, nazwisko, wiek, wagę i wzrost. Po wczytaniu jednego wiersza jest on dzielony na pola, którym przypisywane są zmienne $1, $2, itd. Zmiennej $0 przypisywana jest cała linia. W powyŝszym przykładzie dla pierwszego wiersza otrzymamy: $0 Jan Kowalski $1 Jan $2 Kowalski $3 25 $4 68 $5 173 pozostałe predefiniowane zmienne będą miały wartości: FILENAME NF 5 NR 1 osoby Cały plik moŝemy wyświetlić poleceniem: $ awk { print } osoby Przy wyświetlaniu pliku moŝemy dodać numerację linii: $ awk { print NR, $0 } osoby 1 Jan Kowalski Adam Nowak Piotr Kruk Jacek Niski Marcin Mrozek
8 W prosty sposób moŝna zmienić kolejność kolumn: $ awk { print $2, $1, $3, $4, $5 } osoby Kowalski Jan Nowak Adam Kruk Piotr Niski Jacek Mrozek Marcin MoŜemy teŝ wybrać linie, których pola spełniają określone warunki, np. waga powyŝej 75 kg i wzrost powyŝej 170 cm. $ awk $4 > 75 && $5 > 170 { print } osoby Jacek Niski Do sprawdzenia średniego wzrostu osób znajdujących się na liście napiszemy skrypt: BEGIN { I = 0; SUMA = 0 } { I++; SUMA = SUMA + $5 } END { print SUMA / I } Uruchamiamy skrypt: $ awk -f skrypt osoby 171,8 2. POLECENIE GREP Polecenie grep wyszukuje podany wzorzec tekstu w pliku. Składnia polecenia jest następująca: grep [opcje] wzorzec [plik...] grep [opcje] [-e wzorzec -f plik] [plik...] Polecenie grep przeszukuje wskazane pliki wejściowe (lub standardowe wejście, jeśli nie podano Ŝadnych plików lub jako nazwę pliku podano znak minusa), szukając linii zawierających podany wzorzec. Domyślnie polecenie grep wypisuje nazwy plików i pasujące w nich linie. Polecenie grep moŝe takŝe pracować jako filtr wyszukujący wzory tekstów w strumieniu wejścia standardowego. Dodatkowo dostępne są dwa programy wariantowe: egrep (jest tym samym co grep z opcją -E) i fgrep (jest tym samym co grep z opcją -F). Jako opcje program przyjmuje m.in.: -a - przetwarza plik binarny tak, jakby był on tekstowy, -b - wypisuje przed kaŝdą linią wyjścia jej offset bajtowy w pliku wejściowym, -c - dla kaŝdego pliku wejściowego wypisuje tylko liczbę pasujących linii, 8
9 -e wzorzec - opcja ta stosowana jest gdy wyraŝenie rozpoczyna się znakiem minusa (-). WyraŜenie moŝe być napisane bezpośrednio po -e lub z poprzedzającą spacją, -F - interpretuje wzorzec jako listę łańcuchów o stałej długości, oddzielonych znakami nowej linii, które naleŝy dopasować kaŝdy z osobna, -f plik - pobiera wzorce z pliku, po jednym z kaŝdej linii, -H - dla kaŝdego dopasowania wypisuje nazwę pliku, -h - wyłącza poprzedzanie wyników nazwami plików podczas przeszukiwania wielu plików, -i - ignoruje rozróŝnianie wielkich liter we wzorcu oraz w plikach wejściowych, -L - wypisuje tylko nazwę kaŝdego pliku, z którego normalnie nie wypisano by Ŝadnego wyjścia, -l - wypisuje tylko nazwę kaŝdego pliku, z którego normalnie wypisano by wyjście, -n - przed kaŝdą linią, w której znaleziono tekst wyświetla numer linii z odpowiadającego pliku wejściowego, -r - czyta wszystkie pliki pod kaŝdym katalogiem rekurencyjnie, -v - odwraca sens dopasowania, wyprowadza tylko linie nie zawierające wzorca tekstu, -w - wybiera tylko te linie, w których dopasowania wzorca tworzą całe słowa, -x - wybiera tylko te dopasowania, które dokładnie pasują do całej linii. W przypadku stosowania we wzorcu metaznaków:?, +, {,, (, ) naleŝy poprzedzać je znakiem ukośnika: \?, \+, \{, \, \(, \). $ grep -c tekst plik1 - wypisuje liczbę linii pliku plik1, w którym występuje wzorzec tekst, $ grep -n student /etc/passwd - wyświetla numery linii i linie z pliku passwd zawierające ciąg student, $ ps -e grep gnome - wypisuje wszystkie procesy zawierające w nazwie słowo gnome. 9
10 3. OPIS DODATKOWYCH POLECEŃ DOTYCZĄCYCH PLIKÓW TEKSTOWYCH cmp porównuje dwa pliki lub zestawy bajtów Składnia: cmp [-c][-i ile][-l][-s] plik1 plik2 Opis: Polecenie to porównuje dwa pliki dowolnego typu i wypisuje wynik na standardowym wyjściu. Domyślnie cmp nic nie wypisuje, gdy oba pliki są takie same. Jeśli pliki róŝnią się to wyświetlany jest numer bajtu i numer linii, gdzie wystąpiła pierwsza róŝnica. Bajty i linie numerowane są od wartości jeden. Opcje: -c - wypisuje róŝniące się znaki, znaki sterujące wyświetlane są w postaci ^ plus litera, -i ile - ignoruje wszelkie róŝnice w ile początkowych bajtach kaŝdego z plików. Traktuje pliki zawierające mniej niŝ ile bajtów jakby były puste, -l - dla kaŝdej róŝnicy wypisuje numer bajtu (dziesiętnie) i wartości róŝniących się bajtów (ósemkowo), -s - nic nie wypisuje zwracając kod zakończenia wskazujący czy pliki róŝnią się. $ cmp plik1 plik2 - porównuje pliki o nazwach plik1 i plik2 plik1 plik2 differ: byte 8, line 1 wyświetlając numer bajtu i numer linii, w której wystąpiła pierwsza róŝnica. diff wyszukuje i zaznacza róŝnice pomiędzy dwoma plikami Składnia: diff [opcje] plik1 plik2 Opis: Polecenie to porównuje oba podane pliki i wyświetla na wyjściu standardowym informację, które linie muszą zostać zmienione aby z plik1 otrzymać plik2. Wyjście ma następujący format: n1 a n3, n4 - dla linii, które naleŝy dołączyć, n1, n2 d n3 - dla linii, które naleŝy usunąć, n1, n2 c n3, n4 - dla linii, które naleŝy wymienić. 10
11 Jeśli jako nazwę pliku podamy minus (-), to tekst odczytywany jest ze standardowego wejścia. Jeśli plik1 jest katalogiem, a plik2 nie, to diff porównuje plik z katalogu plik1, którego nazwa jest taka sama jak plik2, i odwrotnie. Jeśli plik1 i plik2 są katalogami, to diff porównuje odpowiednie pliki w obu katalogach, w kolejności alfabetycznej. Opcje: -i - ignorowanie zmian w wielkości liter - duŝe i małe litery uznawane są za równowaŝne, -w - ignorowanie wszystkich odstępów przy porównywaniu plików, -b - ignorowanie zmian w ilości odstępów, -B - ignorowanie zmian, które dodają lub usuwają puste linie, -q - poinformowanie jedynie czy pliki się róŝnią bez podawania szczegółów na temat róŝnic, -e - stworzenie wyjścia, które jest poprawnym skryptem programu ed, -r - rekurencyjne porównywanie wszystkich podkatalogów, jeśli porównywane są katalogi, -s - poinformowanie jeśli oba pliki są identyczne. $ diff -q plik1 plik2 - porównuje pliki o nazwach plik1 i plik2 Files plik1 and plik2 differ wyświetlając informację, czy pliki róŝnią się. find wyszukuje pliki o podanych atrybutach Składnia: find [katalog...][wyraŝenie] Opis: Polecenie to przeszukuje rekurencyjnie podane katalogi szukając plików spełniających kryteria podane przez wyraŝenie. Jeśli nie podano katalogów uŝywany jest katalog bieŝący. Jeśli nie podano wyraŝenia, uŝywane jest wyraŝenie -print. Opcje: -name nazwa_pliku - poszukuje wyspecyfikowanych plików, w nazwie pliku moŝna stosować znaki globalne, -print - podaje ścieŝkę dostępu do znalezionych plików, -perm prawa - poszukuje plików z podanymi (w formacie liczby ósemkowej) prawami dostępu do pliku, 11
12 -type x - plik ma być typu x: c - pliki specjalne znakowe, b - pliki specjalne blokowe, d - katalogi, f - zwykłe pliki, p - bufor typu FIFO, -links n - do pliku istnieje n dowiązań, -user name - plik naleŝy do właściciela name (moŝna podać takŝe UID), -group name - plik naleŝy do grupy name (moŝna podać takŝe GID), -size n - plik ma być o wielkości n bloków (po 512 bajtów w bloku), -atime n - plik był uŝywany w ciągu ostatnich n dni, -ctime n - plik był załoŝony w ciągu ostatnich n dni, -mtime n - plik był modyfikowany w ciągu ostatnich n dni, -newer plik1 - plik był później modyfikowany niŝ plik1, -exec polecenie - podane polecenie będzie zastosowane do plików, spełniających warunek poszukiwania. W poleceniu klamry {} są zastępowane aktualną ścieŝką dostępu, -ok polecenie - działa jak -exec, ale wyprowadza na standardowe wyjście pełną nazwę polecenia, które ma być wykonane i wykonuje je dopiero po potwierdzeniu literą y. Jeśli w warunkach poszukiwań podawana jest liczba n, to oznacza ona: n - liczba całkowita n, +n - liczba większa od n, -n - liczba mniejsza od n. $ find /home/student -ctime -2 - wyszukuje w podanym katalogu pliki, które zostały utworzone w ciągu ostatnich dwóch dni, $ find /home/student -perm wyszukuje w podanym katalogu pliki, które mają nadane wszystkie prawa dostępu, $ find /home/student -ctime 0 -type d - wyszukuje w podanym katalogu katalogi utworzone w ciągu ostatniego dnia. head wyświetla kilka pierwszych linii pliku Składnia: head opcje plik... Opis: Polecenie to wyświetla dla kolejnych podanych plików ich nazwy i pierwsze (domyślnie 10) linie ich treści. Jeśli nie podane zostały nazwy plików, to head czyta ze standardowego wejścia. Polecenie head akceptuje dwa formaty opcji: nowy, w którym liczby są argumentami opcji literowych (np. -n 1) i stary, w którym liczby poprzedzają jakiekolwiek opcje literowe (np. -1b). 12
13 Opcje: -c N - wypisuje pierwsze N bajtów pliku. N jest liczbą naturalną, po której opcjonalnie moŝe wystąpić inny znak określający inną jednostkę: b - bloki 512-bajtowe, k - bloki kilobajtowe, m - bloki megabajtowe, -l, -n N - wypisuje pierwsze N linii, -l jest rozpoznawane tylko z uŝyciem starego formatu opcji, -Nopcje - opcja taka rozpoznawalna jest tylko jeśli jest podana jako pierwsza. N jest liczbą dziesiętną, po której opcjonalnie występuje litera rozmiaru (b, k, m) lub litera l oznaczająca zliczanie linii. Bez podania opcji takŝe zliczane są linie. $ head -5 plik1 - wyświetla 5 początkowych linii pliku plik1, $ head -5l plik1 - wyświetla 5 początkowych linii pliku plik1 (stary format), $ head -n 5 plik1 - wyświetla 5 początkowych linii pliku plik1 (nowy format). more umoŝliwia przeglądanie plików stronami Składnia: more opcje [-n] [+n] [+/wzór] [plik...] Opis: More jest filtrem słuŝącym do przeglądania tekstu strona po stronie. Wyprowadza pliki na ekran w stronach o odpowiedniej dla niego długości. Długość strony moŝe być zmieniona. Po wyprowadzeniu pierwszej strony tekstu naciśnięcie Enter spowoduje wyprowadzenie kolejnej linii, a naciśnięcie Spacji - kolejnej strony. Opcje linii komend: -n - zmiana długości wyprowadzanej strony na n-wierszy, +n - rozpoczęcie wyprowadzania od linii o numerze n, +/wzór - określa łańcuch znaków (wzór), który naleŝy odszukać i rozpocząć wyprowadzanie o dwie linie wcześniej niŝ linia, w której występuje wzór, -c - zapobiega przesuwaniu w górę pierwszej strony przy wyprowadzaniu kolejnych, co ułatwia czytanie, -f - obcina zamiast łamać długie linie, -l - ignoruje przy wyświetlaniu znak nowej strony, -s - scala wiele następujących po sobie spacji (lub pustych linii) i wyprowadza jako jedną. 13
14 Po wyprowadzeniu strony przez more uŝytkownik moŝe wpływać na wyświetlanie dalszej części pliku za pomocą komend: h lub? - help, opis działania polecenia more, Spacja - wyprowadzenie następnej strony tekstu, Enter - wyprowadzenie następnej linii tekstu, q lub Q - opuszczenie more, n Spacja - wyprowadzenie następnych n linii tekstu, d lub Ctrl+d - wyprowadzenie następnych 11 linii tekstu, nz - wyprowadzenie nowej strony z nową długością strony równą od tego momentu n, ns - przeskocz n linii tekstu w przód (domyślnie jedną), nf - przeskocz n ekranów tekstu w przód (domyślnie jeden), nb - przeskocz n linii tekstu w tył (domyślnie jeden). $ more +/tekst plik1 - wyświetla zawartość pliku plik1 rozpoczynając wyświetlanie dwie linie wcześniej niŝ linia zawierająca słowo tekst, $ ls -l more - wyświetla listę plików z bieŝącego katalogu z podziałem na strony (zastosowanie more jako filtr). sort sortuje i łączy pliki tekstowe Składnia: sort opcje [+poz1 [-poz2]] [-k poz1[,poz2]][-o plik_wyj] plik Opis: Polecenie to sortuje linie wyspecyfikowanych plików i zapisuje wynik na wyjściu standardowym. Wywołane bez nazw plików, lub gdy zamiast nazw plików zostanie podany znak minus (-), będzie czytało ze standardowego wejścia, tzn. pracować jako filtr. Bez dodatkowych opcji sortowanie odbywa się w porządku leksykograficznym. Polecenie sort ma trzy tryby działania: - sortowanie (domyślny), - zlepianie (wymaga wywołania z opcją -m), sort zlepia podane pliki sortując je jako grupę. KaŜdy plik wejściowy powinien juŝ być posortowany, - sprawdzanie posortowania (wymaga wywołania z opcją -c), sort sprawdza, czy podane pliki są juŝ posortowane, jeśli nie wszystkie są posortowane, to wypisuje komunikat o błędzie i kończy pracę z kodem równym 1. 14
15 Para linii porównywana jest w następujący sposób: jeśli podano jakieś pola kluczowe, to sort porównuje kaŝdą parę pól w porządku podanym w linii komend, według skojarzonych opcji porządkowania, aŝ znaleziona zostanie róŝnica albo przeszukane zostaną wszystkie pola. Jeśli uŝyto którejś z opcji globalnych, ale nie podano słów kluczowych, sort porównuje całe linie według opcji globalnych. Opcje do zmiany porządku sortowania: -b - ignoruje początkowe znaki spacji i tabulacji, -d - porównuje tylko litery, cyfry i znaki puste, -f - nie uwzględnia wielkości liter (podstawia znaki małych liter za odpowiednie znaki duŝych liter), -g - sortuje numerycznie przekształcając przedrostek kaŝdej linii na liczbę zmiennoprzecinkową podwójnej precyzji, -i - ignoruje znaki niedrukowalne podczas sortowania (spoza zakresu ASCII ), -n - sortowanie numeryczne wartości występujących na początku linii, -r - zmienia porządek sortowania na malejący. Inne opcje: -o plik_wyj - wypisuje wynik do plik_wyj, a nie na standardowe wyjście, +poz1 [-poz2] - określa pole w kaŝdej linii, którego naleŝy uŝyć jako klucza sortowania, pole to składa się z części linii zaczynającej się na poz1 aŝ do poz2 (bez poz2) lub do końca linii jeśli nie podano poz2. Pola i pozycje znaków numerowane są od 0, -k poz1[,poz2] - j.w. w nowej wersji, pole jest częścią linii pomiędzy poz1 i poz2 włącznie. Pola i pozycje znaków numerowane są od 1. $ sort -c plik1 - sprawdza czy podany plik jest sort: plik1: 2: disorder: tekst w pliku posortowany, jeśli nie jest, to wyświetla informację o pierwszej linii, która jest nieposortowana. $ ls sort -r - wyświetla listę plików z bieŝącego katalogu sortując w odwrotnej kolejności (zastosowanie sort jako filtr). 15
16 tail wyświetla kilka ostatnich linii pliku Składnia: tail opcje plik... Opis: Polecenie to wyświetla dla kolejnych podanych plików ich nazwy i ostatnie (domyślnie 10) linie ich treści. Jeśli nie podane zostały nazwy plików, to tail czyta ze standardowego wejścia. Polecenie tail akceptuje dwa formaty opcji: nowy, w którym liczby są argumentami opcji literowych (np. -n 1) i stary, w którym +, -, i opcjonalnie liczby poprzedzają jakiekolwiek opcje literowe (np. -1 lub +1). Jeśli liczba N rozpoczyna się od znaku +, to tail zaczyna wypisywanie od N-tego elementu od początku kaŝdego pliku, a nie od końca. Opcje: -c N - wypisuje końcowe N bajtów. N to liczba naturalna, po której opcjonalnie następuje znak określający inną jednostkę: b - bloki 512-bajtowe, k - bloki kilobajtowe, m - bloki megabajtowe, -l, -n N - wypisuje ostatnie N linii, -l jest rozpoznawane tylko z uŝyciem starego formatu opcji, -Nopcje, +Nopcje - opcja taka rozpoznawalna jest tylko jeśli jest podana jako pierwsza. N jest liczbą dziesiętną, po której opcjonalnie występuje litera rozmiaru (b, k, m) lub litera l oznaczająca zliczanie linii. Bez podania opcji takŝe zliczane są linie. $ tail -5 plik1 - wyświetla 5 ostatnich linii pliku plik1, $ tail +5 plik1 - wyświetla zawartość pliku plik1 począwszy od 5 linii. wc wyświetla liczbę linii, słów i bajtów w pliku Składnia: wc opcje plik... Opis: Polecenie to podaje liczbę linii, słów i bajtów w pliku podanym jako argument (lub w tekście podanym z wejścia standardowego). Słowa oddzielone są od siebie białymi znakami. Liczba linii jest to liczba znaków końca wiersza. W przypadku braku opcji dla kaŝdego pliku wypisywana jest jedna linia zawierająca: liczbę linii, liczbę słów, liczbę bajtów i nazwę pliku. Jeśli podano 16
17 więcej niŝ jedną nazwę pliku to polecenie wc wypisuje linię końcową zawierającą łączne liczby z nazwą pliku total (lub razem). Opcje: -c - wypisuje tylko liczbę bajtów, -w - wypisuje tylko liczbę słów, -l - wypisuje tylko liczbę linii, -L - wypisuje tylko długość najdłuŝszej linii. wc plik1 plik plik plik razem LITERATURA: [1] Taylor D.: 101 skryptów w shellu, Mikom, Warszawa, [2] Lal K., Rak T.: Linux. Komendy i polecenia. Praktyczne przykłady, Helion, Gliwice, [3] Robbins A., Beebe N.H.F.: Programowanie skryptów powłoki, Helion, Gliwice, [4] Newham C., Rosenblatt B.: bash. Wprowadzenie, Helion, Gliwice, [5] Robak S.: XENIX. Wielodostępny, wieloprogramowy system operacyjny (Unix System V), Zielona Góra, [6] Ray D.S., Ray E.J.: Po prostu Unix, Helion, Gliwice [7] Marczyński J.: UNIX: uŝytkowanie i administrowanie, Helion, Gliwice [8] Armstrong J., Taylor D.: Unix dla kaŝdego, Helion, Gliwice [9] Ball B., Pitts D.: Red Hat Linux 6. Księga Eksperta, Helion, Gliwice [10] Medinets D.: Unix: narzędzia programowania powłok, Wydawnictwo PLJ, Warszawa [11] Goodheart B., Cox J.: Sekrety magicznego ogrodu: Unix System V wersja 4 od środka: podręcznik, WNT, Warszawa [12] Arthur L.J., Burns T.: Unix. Programowanie w shellu, Mikom, Warszawa [13] Nemeth E., Snyder G., Seebass S., Hein T.R.: Przewodnik administratora systemu Unix, WNT, Warszawa
18 Wymagania BHP Warunkiem przystąpienia do praktycznej realizacji ćwiczenia jest zapoznanie się z instrukcją BHP i instrukcją przeciw poŝarową oraz przestrzeganie zasad w nich zawartych. Wybrane urządzenia dostępne na stanowisku laboratoryjnym mogą posiadać instrukcje stanowiskowe. Przed rozpoczęciem pracy naleŝy zapoznać się z instrukcjami stanowiskowymi wskazanymi przez prowadzącego. W trakcie zajęć laboratoryjnych naleŝy przestrzegać następujących zasad: Sprawdzić, czy urządzenia dostępne na stanowisku laboratoryjnym są w stanie kompletnym, nie wskazującym na fizyczne uszkodzenie. Sprawdzić prawidłowość połączeń urządzeń peryferyjnych. JeŜeli istnieje taka moŝliwość, naleŝy dostosować warunki stanowiska do własnych potrzeb, ze względu na ergonomię. Monitor komputera ustawić w sposób zapewniający stałą i wygodną obserwację dla wszystkich członków zespołu. Załączenie komputera moŝe się odbywać po wyraŝeniu zgody przez prowadzącego. Zabronione jest dokonywanie jakichkolwiek przełączeń w urządzeniach oraz wymiana elementów składowych pod napięciem. Konfiguracja sprzętu (np. konfiguracja systemu operacyjnego, ustawienie parametrów monitora) moŝe się odbywać wyłącznie w porozumieniu z prowadzącym zajęcia. W trakcie pracy z komputerem zabronione jest spoŝywanie posiłków i picie napojów. W przypadku zaniku napięcia zasilającego naleŝy niezwłocznie wyłączyć komputer i monitor z sieci elektrycznej. Stwierdzone wszelkie braki w wyposaŝeniu stanowiska oraz nieprawidłowości w funkcjonowaniu sprzętu naleŝy przekazywać prowadzącemu zajęcia. W przypadku zakończenia pracy naleŝy zakończyć sesję przez wydanie polecenia wylogowania. Zamknięcie systemu operacyjnego moŝe się odbywać tylko na wyraźne polecenie prowadzącego. 18
Znaki globalne w Linuxie
Znaki globalne w Linuxie * reprezentuje jeden lub wiele znaków (wild-card character)? reprezentuje dokładnie jeden znak (wild-card character) [abcde] reprezentuje dokładnie jeden znak z wymienionych [a-e]
Bardziej szczegółowoPrzetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux
Przetwarzanie tekstu 2 Operacje na plikach tekstowych w systemie Linux filtry programy przetwarzajace pliki (w szczególności tekstowe) w taki sposób, że odczytuja dane (plik wejściowy) ze standardowego
Bardziej szczegółowoZmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.
Zmienne powłoki Zmienne powłoki (shell variables) to tymczasowe zmienne, które mogą przechowywać wartości liczbowe lub ciągi znaków. Związane są z powłoką, Przypisania wartości do zmiennej następuje poprzez
Bardziej szczegółowoTemat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr
Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe Czas realizacji zajęć: 180 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Strumienie standardowe i ich przekierowywanie,
Bardziej szczegółowo1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape
FIND http://www.cs.put.poznan.pl/akobusinska/downloads/find.pdf 1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape 2. Ogranicz wynik polecenia 1
Bardziej szczegółowoSystem operacyjny Linux
Paweł Rajba pawel.rajba@continet.pl http://kursy24.eu/ Zawartość modułu 7 Język awk Wprowadzenie Schemat programu Konstrukcja wzorców Konstrukcja wyrażeń regularnych Struktury kontrolne Predefiniowane
Bardziej szczegółowoSpis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka Kod przedmiotu: ESC00 009 (studia stacjonarne)
Bardziej szczegółowo1 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki
Bardziej szczegółowoBash - wprowadzenie. Bash - wprowadzenie 1/39
Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:
Bardziej szczegółowo1. Wyrażenia regularne. Symbole w wyrażeniach regularnych 1 :
1. Wyrażenia regularne Symbole w wyrażeniach regularnych 1 : Aby wyświetlić linie zawierające słowo Mouse z informacji dziennika zdarzeń jądra systemu, można użyć poniższego polecenia. dmesg wyświetla
Bardziej szczegółowoskrypt powłoki to plik tekstowy, rozpoczynający się sekwencją: pierwsza linia określa powłokę, w której wykonywany jest skrypt; druga to komentarz
Ćwiczenie 6 Skrypty powłoki - programowanie w powłoce bash 1. Cel ćwiczenia Celem ćwiczenia jest poznanie możliwości powłoki bash od strony programistycznej. System UNIX (Linux) pozwala tworzyć skrypty,
Bardziej szczegółowoWyrażenia regularne. Wyrażenia regularne 1/41
Wyrażenia regularne Wyrażenia regularne 1/41 Wyrażenia regularne 2/41 Po co wyrażenia regularne? Polecenie: $ grep est tekst.txt Zawartość tekst.txt To jest plik tekstowy. Testujemy narzędzie grep. Trzecia
Bardziej szczegółowoZastosowanie filtrów w Linuksie
Zastosowanie filtrów w Linuksie grep poszukiwanie ciągu znaków w pliku cut selekcjonuje (znajduje) pojedyńcze znaki lub zony sort uporządkowanie, fuzja plików more wyświetlanie pliku strona po stronie
Bardziej szczegółowoPrzedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)
Sed edytor strumieniowy,sed wczytuje bieżący wiersz pliku do wewnętrznego bufora celem manipulowania tekstem. Wynik jest wysyłany na standardowe wyjście. Oryginalny plik nie jest nigdy zmieniany. Jeżeli
Bardziej szczegółowoJĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA
JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA, który zawiera: zmienne, konstrukcje warunkowe i iteracyjne (IF-THEN-ELSE, CASE, DO WHILE, DO UNTIL), konfigurowane środowisko użytkownika. METAZNAKI zestaw
Bardziej szczegółowoSpis treści JĘZYK C - PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI, REKURENCJA. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: EZ1C200 010 (studia niestacjonarne)
Bardziej szczegółowoWstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy
Bardziej szczegółowoWyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2
- 1 - MS EXCEL CZ.2 FUNKCJE Program Excel zawiera ok. 200 funkcji, będących predefiniowanymi formułami, słuŝącymi do wykonywania określonych obliczeń. KaŜda funkcja składa się z nazwy funkcji, która określa
Bardziej szczegółowoPython wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA
Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający
Bardziej szczegółowoLaboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)
Laboratorium nr 8 Temat: Podstawy języka zapytań SQL (część 2) PLAN LABORATORIUM: 1. Sortowanie. 2. Warunek WHERE 3. Eliminacja powtórzeń - DISTINCT. 4. WyraŜenia: BETWEEN...AND, IN, LIKE, IS NULL. 5.
Bardziej szczegółowoPowłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.
Powłoka I Popularne implementacje W stylu sh (powłoki zdefiniowanej w POSIX) bash (najpopularniejsza) zsh ksh mksh W stylu csh csh tcsh 12 października 2018 1 / 16 Powłoka II Zachęta Komunikuje się z użytkownikiem
Bardziej szczegółowoMetody numeryczne Laboratorium 2
Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoOpis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].
ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości
Bardziej szczegółowolekcja 8a Gry komputerowe MasterMind
lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych
Bardziej szczegółowoPrzekierowanie wejścia wyjścia:
Przekierowanie wejścia wyjścia: program ma trzy podstawowe strumienie wejścia-wyjścia - standardowe wejście - standardowe wyjście - standardowe wyjście diagnostyczne przekierowanie standardowego wyjścia
Bardziej szczegółowoSpis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka Kod przedmiotu: ESC00 009 (studia stacjonarne)
Bardziej szczegółowoStałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można
Bardziej szczegółowoJ ezyk AWK Kurs systemu UNIX
Język AWK Kurs systemu UNIX 1 AWK Opracowany w laboratoriach Bella w 1978 przez Aho, Weinbergera i Kernighana Język do przetwarzania plików tekstowych Kurs systemu UNIX 2 AWK: pierwsza odsłona! AWK jest
Bardziej szczegółowoSpis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)
Bardziej szczegółowoBHP JĘZYK C - INSTRUKCJE ITERACYJNE
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Metodyki i techniki programowania Kod przedmiotu: TS1C200
Bardziej szczegółowoSpis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Metodyki i techniki programowania
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Metodyki i techniki programowania Kod przedmiotu: TSC00
Bardziej szczegółowoSYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Klasyczne polecenia: ls [opcje][katalog][pliki] opcje podstawowe -a wyświetla również pliki ukryte -b znaki niedrukowane jako liczby ósemkowe -c sortuje dane zgodnie z datą zmiany -k podaje wielkość pliku
Bardziej szczegółowo1. Wprowadzanie danych z klawiatury funkcja scanf
1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),
Bardziej szczegółowoJęzyki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Bardziej szczegółowoWstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
Bardziej szczegółowoProgramowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Bardziej szczegółowoPRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE
PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE Magda Mielczarek Pracownia Informatyczna 2015/2016 1 Podstawowe definicje Linux system operacyjny, które oferuje kompletne środowisko programistyczne
Bardziej szczegółowoWstęp do systemów wielozadaniowych laboratorium 19 awk
Wstęp do systemów wielozadaniowych laboratorium 19 awk Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-01-08 Język programowania do pracy z bazami danych (w formie
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoPo uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Bardziej szczegółowoSpis treści JĘZYK C - OPERATORY BITOWE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)
Bardziej szczegółowoPOPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2
SKRYPTY Pracownia Informatyczna 2 PRACOWNIA INFORMATYCZNA 2017/2018 MAGDA MIELCZAREK PRACOWNIA INFORMATYCZNA 2017/2018 MAGDA MIELCZAREK 2 cal wyświetlenie kalendarza Składnia: cal 2017, cal Polecenie cal
Bardziej szczegółowoProjekty zaliczeniowe Podstawy Programowania 2012/2013
Projekty zaliczeniowe Podstawy Programowania 2012/2013 0. Zasady ogólne W skład projektu wchodzą następujące elementy: dokładny opis rozwiązywanego problemu opis słowny rozwiązania problemu wraz z pseudokodami
Bardziej szczegółowoSystem operacyjny Linux
Paweł Rajba pawel.rajba@continet.pl http://kursy24.eu/ Zawartość modułu 6 Język bash Pierwszy skrypt Rozwinięcia parametryczne Bloki instrukcji Dwa przydatne polecenia Tablice Sprawdzanie warunków Instrukcje
Bardziej szczegółowoUwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Bardziej szczegółowoPrawa dostępu do plików (1)
Prawa dostępu do plików (1) w - zapis x wykonywanie r odczytywanie - brak uprawnień Rodzaj pliku: - zwykły plik d katalog l link (dowiązanie symboliczne) b plik specjalny blokow c plik specjalny znakowy
Bardziej szczegółowoAdministracja sieciowymi systemami operacyjnymi III Klasa - Linux
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux SKRYPTY POWŁOKI mgr inż. Tomasz Borowiec SKRYPTY POWŁOKI - PODSTAWY W Linuksie skrypt jest plikiem tekstowym zawierającym polecenia systemowe
Bardziej szczegółowoProgramowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Bardziej szczegółowoKaŜdy z formularzy naleŝy podpiąć do usługi. Nazwa usługi moŝe pokrywać się z nazwą formularza, nie jest to jednak konieczne.
Dodawanie i poprawa wzorców formularza i wydruku moŝliwa jest przez osoby mające nadane odpowiednie uprawnienia w module Amin (Bazy/ Wzorce formularzy i Bazy/ Wzorce wydruków). Wzorce formularzy i wydruków
Bardziej szczegółowoLABORATORIUM 6-7 WSTĘP DO SIECI TELEINFORMATYCZNYCH SYSTEM OPERACYJNY UNIX
LABORATORIUM 6-7 WSTĘP DO SIECI TELEINFORMATYCZNYCH SYSTEM OPERACYJNY UNIX 1. PODZIAŁ CZASU System operacyjny to program, który steruje komputerem. Kiedy komputer jest włączany, a pracuje z UNIX em, wówczas
Bardziej szczegółowoŚrodowisko programisty Zestaw 7
Bash, zmienne i instrukcje warunkowe Zmienne możemy traktować jak etykiety, które przechowują ciągi znaków. Definiujemy je przy pomocy znaku = bez spacji po obu jego stronach: dog="azor" Do zmiennych w
Bardziej szczegółowoBASH - LINIA POLECEŃ. Bioinformatyka 2018/2019
BASH - LINIA POLECEŃ Bioinformatyka 2018/2019 PODSTAWOWE DEFINICJE Linux system operacyjny, które oferuje kompletne środowisko programistyczne Powłoka interfejs wiersza poleceń zapewniający komunikację
Bardziej szczegółowoCw.12 JAVAScript w dokumentach HTML
Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane
Bardziej szczegółowoSystemy operacyjne. Laboratorium 5. Awk podstawy. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017
Systemy operacyjne Laboratorium 5 Awk podstawy Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Temat obejmuje podstawowe pojęcia związane z komendą awk uruchamienie, składnia, pola i rekordy i wykorzystaniem
Bardziej szczegółowoKARTA KURSU. Języki skryptowe
KARTA KURSU Nazwa Nazwa w j. ang. Języki skryptowe Script languages Kod Punktacja ECTS* 3 Koordynator mgr Alfred Budziak Zespół dydaktyczny: dr Olaf Bar mgr Alfred Budziak Opis kursu (cele kształcenia)
Bardziej szczegółowoTechnologie Informacyjne - Linux 2
Technologie Informacyjne - 2 Instytut Matematyki Uniwersytet Gdański Powłoka - polecenia pośredniczace Polecenie grep wypisuje z pliku lub strumienia wejściowego te wiersze, które sa zgodne z podanym wyrażeniem.
Bardziej szczegółowoWprowadzenie do Scilab: podstawy języka Scilab
Wprowadzenie do Scilab: podstawy języka Scilab Magdalena Deckert, Izabela Szczęch, Barbara Wołyńska, Bartłomiej Prędki Politechnika Poznańska, Instytut Informatyki Narzędzia Informatyki Narzędzia Informatyki
Bardziej szczegółowoAlgorytmy sortujące i wyszukujące
Algorytmy sortujące i wyszukujące Zadaniem algorytmów sortujących jest ułożenie elementów danego zbioru w ściśle określonej kolejności. Najczęściej wykorzystywany jest porządek numeryczny lub leksykograficzny.
Bardziej szczegółowoSieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix
Wydział Zarządzania i Modelowania Komputerowego Specjalność: Informatyka Stosowana Rok III Semestr V 1. Logowanie w systemie Unix. Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu
Bardziej szczegółowoInformatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu
Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu
Bardziej szczegółowoLaboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski
Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 7 kwietnia 2014 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje
Bardziej szczegółowoPodstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Bardziej szczegółowoArchitektura systemów informatycznych. Powłoka systemowa Architektura procesora
Architektura systemów informatycznych Powłoka systemowa Architektura procesora Powłoki systemowe Powłoka tekstowa Powłoka, nazywana inaczej shellem, odpowiada za wykonywanie poleceń wpisywanych przez użytkownika
Bardziej szczegółowoInstrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.
Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 6
Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended
Bardziej szczegółowoWstęp do informatyki. stęp do informatyki Polecenia (cz.2)
Wstęp do informatyki stęp do informatyki Polecenia (cz.2) Lista procesów top Pokaż listę procesów polecenie interaktywne Procesy Uruchamianie w tle. shell nie czeka na zakończenie procesu, można wydawać
Bardziej szczegółowoLinux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak
Linux Polecenia Opracował: Andrzej Nowak Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Utwórz katalog lab_5 i przejdź do niego. $ mkdir lab_5 ; cd lab_5 Problem nadpisywania
Bardziej szczegółowoPodstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Bardziej szczegółowoSystem operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix
Wydział Mechatroniki i Budowy Maszyn Specjalność: Automatyka i Robotyka Rok II Semestr IV 1. Logowanie w systemie Unix. System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix Do zalogowania
Bardziej szczegółowoWprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2
Wprowadzania liczb Liczby wpisywane w komórce są wartościami stałymi. W Excel'u liczba może zawierać tylko następujące znaki: 0 1 2 3 4 5 6 7 8 9 + - ( ), / $ %. E e Excel ignoruje znaki plus (+) umieszczone
Bardziej szczegółowoSkrypty powłoki w systemie Linux
Skrypty powłoki w systemie Linux Wykonywanie codziennych czynności w systemie operacyjnym jest męczące, gdy za każdym razem trzeba wpisywać te same zestawy komend. Znacznie wygodniej byłoby zapisać je
Bardziej szczegółowoTechnologie Informacyjne - Linux 3
Technologie Informacyjne - 3 Instytut Matematyki Uniwersytet Gdański Tryby plików i uprawnienia Każdy z plików uniksowych posiada zbiór uprawnień określajacych, czy możemy dany plik odczytać (r), zapisać
Bardziej szczegółowoS P I S POLECEŃ LINUXA
S P I S POLECEŃ LINUXA Polecenia d l a katalogów Wyświetlanie zawartości katalogów ls ls [opcje][katalog][plik] -a (all) listuje również pliki ukryte zaczynające się znakiem».«-b wyświetla znaki niedrukowalne
Bardziej szczegółowoINFORMATYKA Studia Niestacjonarne Elektrotechnika
INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoSSK - Techniki Internetowe
SSK - Techniki Internetowe Ćwiczenie 2. Obsługa formularzy. Operatory, instrukcje warunkowe oraz instrukcje pętli w PHP. Obsługa formularzy Skryptu PHP moŝna uŝyć do obsługi formularza HTML. Aby tego dokonać,
Bardziej szczegółowoSystem plików. Podstawy systemu Linux
Podstawy systemu Linux Linux jest systemem operacyjnym dla komputerów PC, opracowany na początku lat dziewięćdziesiątych przez Linusa Torvaldsa. Podobnie jak Unix jest on systemem wielozadaniowym - umoŝliwia
Bardziej szczegółowo#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Bardziej szczegółowo2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
Bardziej szczegółowoSpis treści JĘZYK C - ŚLEDZENIE WYKONANIA PROGRAMU, DEBUGGER. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1D200 009 (studia stacjonarne)
Bardziej szczegółowoBADANIE ROZKŁADU TEMPERATURY W PIECU PLANITERM
POLITECHNIKA BIAŁOSTOCKA WYDZIAŁ ELEKTRYCZNY KATEDRA ELEKTROTECHNIKI TEORETYCZNEJ I METROLOGII Instrukcja do zajęć laboratoryjnych z przedmiotu: Pomiary elektryczne wielkości nieelektrycznych 2 Kod przedmiotu:
Bardziej szczegółowoOPCJE -A num, --after-context=num Wypisuje po pasujących liniach num linii następującego kontekstu.
GREP NAZWA grep, egrep, fgrep - wypisz linie pasujące do wzorca SKŁADNIA grep [opcje] wzorzec [plik...] grep [opcje] [-e wzorzec -f plik] [plik...] OPIS grep przeszukuje wskazane pliki wejściowe (lub standardowe
Bardziej szczegółowoAKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH
AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH II rok Kierunek Logistyka Temat: Zajęcia wprowadzające. BHP stanowisk
Bardziej szczegółowoRóżne pożyteczne polecenia oraz wyrażenia regularne. Kurs systemu Unix 1
Różne pożyteczne polecenia oraz wyrażenia regularne Kurs systemu Unix 1 O pracach (jobs) Pracą nazwiemy proces będący pod kontrolą powłoki. Przykład: % sort addresses > mail_list & [1] 21885 % [1] oznacza
Bardziej szczegółowo1. Kalkulator czterech działań. 2. Konwersja ciągu znaków do tablicy.
1. Kalkulator czterech działań. Kalkulator czterech działań: +, -, *, \ (bez nawiasów). Wejście: łańcuch znakowy, np. 1+2*3\4-5\2=, -2+4e-1= Liczby mogą być w formacie, np. +1.45, -2, 1e-10. 2. Konwersja
Bardziej szczegółowoW pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)
Ćwiczenie 2 Cel ćwiczenia: Poznanie mechanizmów wejścia/wyjścia, zapoznanie się ze sposobami wyświetlania plików tekstowych i wyszukiwania informacji, podstawowe operacje na plikach tekstowych, zmienne
Bardziej szczegółowoSkrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:
Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:
Bardziej szczegółowoĆwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:
Ćwiczenie nr 6 Temat: Operacje na łańcuchach znaków. Zagadnienia: Zasady pracy z łańcuchami tekstowymi (tablice wartości typu char). funkcje standardowe operacji na łańcuchach, funkcje I/O dla operacji
Bardziej szczegółowoSchematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.
Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:
Bardziej szczegółowoKiedy i czy konieczne?
Bazy Danych Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 4 : Napisy. Tablice dwuwymiarowe. Formaty
Bardziej szczegółowoAdresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów
Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście
Bardziej szczegółowo1 Wielokrotne powtarzanie tych samych operacji
1 Wielokrotne powtarzanie tych samych operacji Zadanie 1. roszę porównać następujące programy(efekt działania każdego z nich jest takisam). rzykład 1 przedstawia najbardziej typowy zapis, powodujący wykonanie
Bardziej szczegółowoMETODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH
METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR
Bardziej szczegółowoJęzyk C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop
Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop. 2016 Spis treści Wprowadzenie 11 Adresaci książki 12 Co wyróżnia tę książkę na
Bardziej szczegółowoPodstawy programowania w języku Visual Basic dla Aplikacji (VBA)
Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest
Bardziej szczegółowoPrzegląd podstawowych funkcji Excel.
Przegląd podstawowych funkcji Excel. Spis treści I. Funkcje tekstu oraz pomocnicze... 1 1. FRAGMENT.TEKSTU(tekst;liczba_początkowa;liczba_znaków... 1 2. LEWY(tekst;liczba_znaków)... 2 3. Prawy (tekst;liczba_znaków)...
Bardziej szczegółowofor (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;
Rok akademicki 2014/2015, Pracownia nr 5 2/36 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2014/2015 Pracownia
Bardziej szczegółowoPodstawy użytkowania Linux a
Podstawy użytkowania Linux a Systemy Operacyjne Mateusz Hołenko 3 marca 2013 Plan zajęć Rozpoczynanie pracy z systemem Podstawowe polecenia Pomoc systemowa Interpreter poleceń Mateusz Hołenko Podstawy
Bardziej szczegółowo