Wyklad03 2008


Narzędzia informatyczne w językoznawstwie
Wiersz poleceń - Potoki i pliki wsadowe
Marcin Junczys-Dowmunt
junczys@amu.edu.pl
Zakład Logiki Stosowanej
http://www.logic.amu.edu.pl
22. pazdziernika 2008
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 1/17
Polecenia działające na plikach tekstowych
echo Wyświetla komunikat wpisany jako argument
np.echo To jest komunikat
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 2/17
Polecenia działające na plikach tekstowych
echo Wyświetla komunikat wpisany jako argument
np.echo To jest komunikat
type Wyświetla zawartość jednego lub wielu plików na
stdoutnp.type *.txt
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 2/17
Polecenia działające na plikach tekstowych
echo Wyświetla komunikat wpisany jako argument
np.echo To jest komunikat
type Wyświetla zawartość jednego lub wielu plików na
stdoutnp.type *.txt
more Wyświetla dane po jednym ekranie na raz
np.more plik1.txt
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 2/17
Polecenia działające na plikach tekstowych
echo Wyświetla komunikat wpisany jako argument
np.echo To jest komunikat
type Wyświetla zawartość jednego lub wielu plików na
stdoutnp.type *.txt
more Wyświetla dane po jednym ekranie na raz
np.more plik1.txt
sort sortuje wierze w podanym pliku i wyświetla na konsoli
np.sort plik1.txt
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 2/17
Polecenia działające na plikach tekstowych
echo Wyświetla komunikat wpisany jako argument
np.echo To jest komunikat
type Wyświetla zawartość jednego lub wielu plików na
stdoutnp.type *.txt
more Wyświetla dane po jednym ekranie na raz
np.more plik1.txt
sort sortuje wierze w podanym pliku i wyświetla na konsoli
np.sort plik1.txt
fc porównuje dwa pliki i wyświetla różnice między nimi
np.fc plik1.txt plik2.txt
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 2/17
Polecenia działające na plikach tekstowych
echo Wyświetla komunikat wpisany jako argument
np.echo To jest komunikat
type Wyświetla zawartość jednego lub wielu plików na
stdoutnp.type *.txt
more Wyświetla dane po jednym ekranie na raz
np.more plik1.txt
sort sortuje wierze w podanym pliku i wyświetla na konsoli
np.sort plik1.txt
fc porównuje dwa pliki i wyświetla różnice między nimi
np.fc plik1.txt plik2.txt
find szuka ciągu znaków w pliku lub wielu plikach
np.find /N "ciąg" *.txt
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 2/17
Co to jest potok?
Potok (ang. pipe)
to jeden z mechanizmów komunikacji międzyprocesowej
umożliwiający wymianę danych pomiędzy dwoma procesami
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 3/17
Co to jest potok?
Potok (ang. pipe)
to jeden z mechanizmów komunikacji międzyprocesowej
umożliwiający wymianę danych pomiędzy dwoma procesami
odbywa się to poprzez połączenie standardowego wyjścia
jednego procesu ze standardowym wejściem drugiego
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 3/17
Co to jest potok?
Potok (ang. pipe)
to jeden z mechanizmów komunikacji międzyprocesowej
umożliwiający wymianę danych pomiędzy dwoma procesami
odbywa się to poprzez połączenie standardowego wyjścia
jednego procesu ze standardowym wejściem drugiego
liczba procesów, które można w ten sposób połączyć nie jest
ograniczona
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 3/17
Co to jest potok?
Potok (ang. pipe)
to jeden z mechanizmów komunikacji międzyprocesowej
umożliwiający wymianę danych pomiędzy dwoma procesami
odbywa się to poprzez połączenie standardowego wyjścia
jednego procesu ze standardowym wejściem drugiego
liczba procesów, które można w ten sposób połączyć nie jest
ograniczona
Polecenia łączymy w potok za pomocą znaku|, np.
type plik1.txt | sort | more
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 3/17
Standardowe strumienie
Standardowe strumienie
To standardowe kanały komunikacji między komputerem a
otoczeniem (zwykle terminalem).
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 4/17
Standardowe strumienie
Standardowe strumienie
To standardowe kanały komunikacji między komputerem a
otoczeniem (zwykle terminalem).
Trzy podstawowe połączenia I/O noszą nazwy:
standard input (stdin, standardowy strumień wejścia),
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 4/17
Standardowe strumienie
Standardowe strumienie
To standardowe kanały komunikacji między komputerem a
otoczeniem (zwykle terminalem).
Trzy podstawowe połączenia I/O noszą nazwy:
standard input (stdin, standardowy strumień wejścia),
standard output (stdout, standardowy strumień wyjścia)
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 4/17
Standardowe strumienie
Standardowe strumienie
To standardowe kanały komunikacji między komputerem a
otoczeniem (zwykle terminalem).
Trzy podstawowe połączenia I/O noszą nazwy:
standard input (stdin, standardowy strumień wejścia),
standard output (stdout, standardowy strumień wyjścia)
standard error (stderr, standardowy strumień błędów).
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 4/17
Standardowy strumień wyjścia (stdout)
Standardowy strumień wyjścia
Standardowy strumień wyjścia to strumień, do którego
program zapisuje dane wynikowe
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 5/17
Standardowy strumień wyjścia (stdout)
Standardowy strumień wyjścia
Standardowy strumień wyjścia to strumień, do którego
program zapisuje dane wynikowe
Niektóre programy nie zwracają danych wynikowych - na
przykładmoveniczego nie wypisuje, jeżeli przeniesienie się
powiodło
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 5/17
Standardowy strumień wyjścia (stdout)
Standardowy strumień wyjścia
Standardowy strumień wyjścia to strumień, do którego
program zapisuje dane wynikowe
Niektóre programy nie zwracają danych wynikowych - na
przykładmoveniczego nie wypisuje, jeżeli przeniesienie się
powiodło
Jeżeli strumień nie jest przekierowany dane są wysyłane do
terminala, z którego uruchomiono program
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 5/17
Standardowy strumień wyjścia (stdout)
Standardowy strumień wyjścia
Standardowy strumień wyjścia to strumień, do którego
program zapisuje dane wynikowe
Niektóre programy nie zwracają danych wynikowych - na
przykładmoveniczego nie wypisuje, jeżeli przeniesienie się
powiodło
Jeżeli strumień nie jest przekierowany dane są wysyłane do
terminala, z którego uruchomiono program
Aby przekierować strumień wyjścia do pliku, należy użyć znaków
>lub1> jeżeli chcemy stworzyć dany plik lub zastąpić plik
danymi ze strumienia
>>lub1>> jeżeli chcemy dopisać dane na końcu pliku
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 5/17
Standardowy strumień wejścia (stdin)
Standardowy strumień wejścia
Standardowy strumień wejścia to dane (zwykle tekst)
przekazywane do programu
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 6/17
Standardowy strumień wejścia (stdin)
Standardowy strumień wejścia
Standardowy strumień wejścia to dane (zwykle tekst)
przekazywane do programu
Nie wszystkie programy wymagają danych wejściowych.
Przykładowo,dirwykonuje swoją funkcję nie pobierając
żadnych danych zstdin
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 6/17
Standardowy strumień wejścia (stdin)
Standardowy strumień wejścia
Standardowy strumień wejścia to dane (zwykle tekst)
przekazywane do programu
Nie wszystkie programy wymagają danych wejściowych.
Przykładowo,dirwykonuje swoją funkcję nie pobierając
żadnych danych zstdin
O ile strumień nie jest przekierowany, dane są pobierane z
terminalu (czyli z klawiatury), z którego został uruchomiony
program
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 6/17
Standardowy strumień wejścia (stdin)
Standardowy strumień wejścia
Standardowy strumień wejścia to dane (zwykle tekst)
przekazywane do programu
Nie wszystkie programy wymagają danych wejściowych.
Przykładowo,dirwykonuje swoją funkcję nie pobierając
żadnych danych zstdin
O ile strumień nie jest przekierowany, dane są pobierane z
terminalu (czyli z klawiatury), z którego został uruchomiony
program
Aby przekierować plik do strumienia wejścia, należy użyć znaku<
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 6/17
Standardowy strumień błędów (stderr)
Standardowy strumień błędów
Standardowy strumień błędów wykorzystujemy do
wyświetlania komunikatów o błędach
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 7/17
Standardowy strumień błędów (stderr)
Standardowy strumień błędów
Standardowy strumień błędów wykorzystujemy do
wyświetlania komunikatów o błędach
Jest niezależny od strumienia wyjścia
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 7/17
Standardowy strumień błędów (stderr)
Standardowy strumień błędów
Standardowy strumień błędów wykorzystujemy do
wyświetlania komunikatów o błędach
Jest niezależny od strumienia wyjścia
Strumienia ma umożliwić zobaczenie błędu nawet wtedy, gdy
strumień wyjścia jest przekierowany
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 7/17
Standardowy strumień błędów (stderr)
Standardowy strumień błędów
Standardowy strumień błędów wykorzystujemy do
wyświetlania komunikatów o błędach
Jest niezależny od strumienia wyjścia
Strumienia ma umożliwić zobaczenie błędu nawet wtedy, gdy
strumień wyjścia jest przekierowany
Gdy strumienie wyjścia i błędów mają ten sam cel (np.
terminal) to są wyświetlane w takiej kolejności, w jakiej
wypisuje je program
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 7/17
Standardowy strumień błędów (stderr)
Standardowy strumień błędów
Standardowy strumień błędów wykorzystujemy do
wyświetlania komunikatów o błędach
Jest niezależny od strumienia wyjścia
Strumienia ma umożliwić zobaczenie błędu nawet wtedy, gdy
strumień wyjścia jest przekierowany
Gdy strumienie wyjścia i błędów mają ten sam cel (np.
terminal) to są wyświetlane w takiej kolejności, w jakiej
wypisuje je program
Aby przekierować strumień błędu do pliku, należy użyć znaku2>
lub odpowiednio2>>
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 7/17
Przykład (stdout)
echo To jest plik testowy > plik1.txt
echo A to kolejny wiersz >> plik1.txt
echo A to juz trzeci wiersz >> plik1.txt
more plik1.txt
type plik1.txt | sort | more
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 8/17
Przykład (stdout)
echo To jest plik testowy > plik1.txt
echo A to kolejny wiersz >> plik1.txt
echo A to juz trzeci wiersz >> plik1.txt
more plik1.txt
type plik1.txt | sort | more
sort < plik1.txt
type plik1.txt > plik2.txt
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 8/17
Przykład (stdout)
echo To jest plik testowy > plik1.txt
echo A to kolejny wiersz >> plik1.txt
echo A to juz trzeci wiersz >> plik1.txt
more plik1.txt
type plik1.txt | sort | more
sort < plik1.txt
type plik1.txt > plik2.txt
type * > all.txt
type * > all.txt 2> errors.txt
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 8/17
Urządzenia specjalneconinul
con
Urządzenieconjest symbolem konsoli
Jeśli czytamy zcon, to czytami z klawiatury
type con >plik.txt(Należy naciśnącCtrl+Zi następnie
Enter, żeby przerwać wczytywanie z klawiatury)
Możemy też zapisywać informacje docon, ale jest to często
zachowaniem standardowym poleceń
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 9/17
Urządzenia specjalneconinul
con
Urządzenieconjest symbolem konsoli
Jeśli czytamy zcon, to czytami z klawiatury
type con >plik.txt(Należy naciśnącCtrl+Zi następnie
Enter, żeby przerwać wczytywanie z klawiatury)
Możemy też zapisywać informacje docon, ale jest to często
zachowaniem standardowym poleceń
nul
Wszystkie dane wysłane donulpo prostu znikają, stąd nazwa
czarna dziura
 Wycisza strumienie wyjściowe, np. wyjście błędów
dir jakaśbzdura 2>nul
Można również  czytać informacje znul
type nul
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 9/17
Przykładowy potok
perl splitter.pl -crp germanbig.txt -lem lemDE.txt
nul | perl lemmatize.pl -lem lemDE.txt
| perl cleanpos.pl -mapping german.map | perl
substsegments.pl -segs segments.txt -map subst.map
>germanlemmatized.txt
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 10/17
Przykładowy potok
perl splitter.pl -crp germanbig.txt -lem lemDE.txt
nul | perl lemmatize.pl -lem lemDE.txt
| perl cleanpos.pl -mapping german.map | perl
substsegments.pl -segs segments.txt -map subst.map
>germanlemmatized.txt
type reconstructed*.txt | perl findphrases.pl -list
pattern.txt -mode long | perl substbynormal.pl
-normalpl polishnormalized.txt -normalen
englishnormalized.txt | perl uniquecps.pl | perl
pairstodb.pl
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 10/17
Programy wsadowe
Program wsadowy
to w systemach MS-DOS lub Windows plik tekstowy
zawierający serię poleceń, które ma wykonać interpreter
komend (np. kasowanie, kopiowanie, uruchamianie)
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 11/17
Programy wsadowe
Program wsadowy
to w systemach MS-DOS lub Windows plik tekstowy
zawierający serię poleceń, które ma wykonać interpreter
komend (np. kasowanie, kopiowanie, uruchamianie)
Kiedy program wsadowy zostanie uruchomiony, interpreter
czyta plik i uruchamia kolejno zapisane w nim programy.
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 11/17
Programy wsadowe
Program wsadowy
to w systemach MS-DOS lub Windows plik tekstowy
zawierający serię poleceń, które ma wykonać interpreter
komend (np. kasowanie, kopiowanie, uruchamianie)
Kiedy program wsadowy zostanie uruchomiony, interpreter
czyta plik i uruchamia kolejno zapisane w nim programy.
Programy wsadowe systemu MS-DOS posiadają rozszerzenia
.BAT lub .CMD
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 11/17
Programy wsadowe
Program wsadowy
to w systemach MS-DOS lub Windows plik tekstowy
zawierający serię poleceń, które ma wykonać interpreter
komend (np. kasowanie, kopiowanie, uruchamianie)
Kiedy program wsadowy zostanie uruchomiony, interpreter
czyta plik i uruchamia kolejno zapisane w nim programy.
Programy wsadowe systemu MS-DOS posiadają rozszerzenia
.BAT lub .CMD
Umożliwiają automatyzację często powtarzających się lub
złożonych poleceń
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 11/17
Prosty przykład
Tworzymy plik tekstowy o nazwiewindows.bati wpisujemy:
@echo off
echo Uwaga, zaraż wyświetlę zawartość C:\Windows
dir /B C:\Windows | sort /R | more
echo Katalog został wyświetlony
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 12/17
Zmienne i parametry
Zmienne istotnie zwiększają funkcjonalność każdego języka
skryptowego
Proszę sprawdzić działanie pliku wsadowego o następującej treści:
@echo off
set var=test 1 2 3
echo Wartość zmiennej to "%var%"
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 13/17
Zmienne i parametry
Zmienne istotnie zwiększają funkcjonalność każdego języka
skryptowego
Proszę sprawdzić działanie pliku wsadowego o następującej treści:
@echo off
set var=test 1 2 3
echo Wartość zmiennej to "%var%"
Następnie zmodyfikować do tej postaci:
@echo off
set var=%1
echo Wartość zmiennej to "%var%" Wykonać plik wsadowy
w nast. sposób:test.bat małytest
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 13/17
Sprawdzanie warunków
Polecenieifpozwala na sprawdzanie warunków logicznych na
poziomie wiersza poleceń. Jednak najbardziej przydatne jest w
plikach wsadowych
if [not] ciąg1==ciąg2 (polecenie) [else (polecenie)]
if [not] exist plik (polecenie) [else (polecenie)]
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 14/17
Sprawdzanie warunków
Polecenieifpozwala na sprawdzanie warunków logicznych na
poziomie wiersza poleceń. Jednak najbardziej przydatne jest w
plikach wsadowych
if [not] ciąg1==ciąg2 (polecenie) [else (polecenie)]
if [not] exist plik (polecenie) [else (polecenie)]
Przykład:@echo off
if "%1"=="" (set kat=konsola) else (set kat=%1)
if not exist %kat% (md %kat%) else (dir %kat%)
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 14/17
Skoki i etykiety
Poleceniegoto etykietapozwala na przeskok miejsca w pliku
wsadowym, gdzie znajduje się etykieta.
Przykład:
@echo off
if "%1"=="" goto error
echo Podałeś wartość "%1"
echo Uratowałeś świat
goto koniec
:error
echo Błąd! Nie podałeś strasznie ważnego parametru!
echo Więc teraz komputer wybuchnie
:koniec
echo Przeskoczyłem na koniec
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 15/17
Pętle
Polecenieforsłuży do powtarzania jednego polecenia dla każdego
pliku z pewnego zbioru plików lub dla każdej wartości z pewnego
zbioru wartości.
for %[%]i in (zbiór) do polecenie
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 16/17
Pętle
Polecenieforsłuży do powtarzania jednego polecenia dla każdego
pliku z pewnego zbioru plików lub dla każdej wartości z pewnego
zbioru wartości.
for %[%]i in (zbiór) do polecenie
Uwaga
Jeśli korzystamy z pętli z poziomu wiersza poleceń zmienną
oznaczamy standardowo np.%i, w pliku wsadowym natomiast%%i
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 16/17
Pętle
Polecenieforsłuży do powtarzania jednego polecenia dla każdego
pliku z pewnego zbioru plików lub dla każdej wartości z pewnego
zbioru wartości.
for %[%]i in (zbiór) do polecenie
Uwaga
Jeśli korzystamy z pętli z poziomu wiersza poleceń zmienną
oznaczamy standardowo np.%i, w pliku wsadowym natomiast%%i
Przykłady (w pliku wsadowym):
for %%i in (*.txt *.html) do copy %%i %%i.bak
for %%i in (a b c d e f) do echo Wypisz literę "%%i"
for /L %%i (1,2,13) do echo Plik nr %%1 > plik%%1.txt
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 16/17
Ostatni przykład - składamy wszystko w całość
set USER=%1%
set N=%2%
if "%USER%"=="" goto error
if "%N%"=="" goto error
cd "C:\Documents and settings\%USER%\Pulpit"
if exist konsola (del /S /Q konsola\*) else md konsola
for /L %%i in (1 1 %N%) do echo Plik %%i 1>konsola/plik%%i.txt
goto koniec
:error
echo Nie podałes uzytkownika lub liczby plików
:koniec
Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 17/17


Wyszukiwarka

Podobne podstrony:
Wyklad04 2008 handout
Poprzedni rok ETYKA WYKLADY 2008 czarno biale
Wyklad04 2008
Wyklad V 2008
wyklady 2008 urban i plan przestrz
Wyklad1 2008 handout
Wyklad03 2008 handout
Wyklad5 2008
RACHUNKOWOSC WYKLAD 2008
Rynki finansowe WYKŁAD 2008
Wyklad2 2008
Wyklad2 2008 handout
Wyklad05 2008 handout
Wyklad05 2008
Wyklad I 2008
wykład t i 2008 1
wyklad 7 emocje stres niestacjonarne WSEiP 16 2008
Wyklad III 2008

więcej podobnych podstron