128Kb*8 pamięci powinno wystarczyć każdemu :-) (B. Gates 1981)

czwartek, 4 marca 2010

Polecenie findstr

Share
Wyszukuje tekst w plikach zgodny z wzorcem przy użyciu wyrażeń regularnych.
Składnia
findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/offline] [/g:plik] [/f:plik] [/c:ciąg] [/d:lista_katalogów] [/a:atrybut_koloru] [ciągi] [[dysk:][ścieżka] nazwa_pliku [...]]
Parametry
/b
Wyszukuje tekst zgodny ze wzorcem, znajdujący się na początku wiersza.
/e
Wyszukuje tekst zgodny ze wzorcem, znajdujący się na końcu wiersza.
/l
Traktuje wyszukiwane ciągi jako ciągi literowe.
/r
Traktuje wyszukiwane ciągi jako wyrażenia regularne. Polecenie findstr interpretuje wszystkie metaznaki jako wyrażenia regularne, jeżeli nie użyto opcji /l.
/s
Wyszukuje pasujące pliki w bieżącym katalogu i wszystkich podkatalogach.
/i
Określa, że podczas wyszukiwania nie będzie uwzględniana wielkość liter.
/x
Drukuje wiersze zawierające dokładne odpowiedniki wzorca.
/v
Drukuje tylko wiersze nie zawierające odpowiedników wzorca.
/n
Drukuje numer wiersza przed każdym wierszem zgodnym z wzorcem.
/m
Drukuje tylko nazwę pliku, jeżeli plik zawiera odpowiednik wzorca.
/o
Drukuje przesunięcie wyszukiwania przed każdym wierszem zgodnym ze wzorcem.
/p
Pomija pliki zawierające znaki niedrukowalne.
/offline
Przetwarza pliki z ustawionym atrybutem offline.
/f:plik
Odczytuje listę plików z określonego pliku.
/c:ciąg
Traktuje określony tekst jako literowy ciąg wyszukiwania.
/g:plik
Pobiera wyszukiwane ciągi z określonego pliku.
/d:lista_katalogów
Przeszukuje listę katalogów rozdzielaną przecinkami.
/a:atrybut_koloru
Określa atrybuty koloru przy użyciu dwóch liczb szesnastkowych.
ciągi
Określony tekst, który ma być wyszukiwany w pliku nazwa_pliku.
[dysk:][ścieżka] nazwa_pliku [...]
Określa plik lub pliki, które mają być przeszukiwane.
/?
Wyświetla Pomoc w wierszu polecenia.
Spostrzeżenia
Używanie wyrażeń regularnych z poleceniem findstr
Polecenie findstr może wyszukiwać dokładne odpowiedniki poszukiwanego tekstu w dowolnym pliku lub plikach ASCII. Czasem dostępna jest jednak tylko część wzorca poszukiwanych informacji lub konieczne jest wyszukanie szerszego zakresu informacji. W takich przypadkach polecenie findstr bardzo ułatwia wyszukiwanie tekstu zgodnego ze wzorcem przy użyciu wyrażeń regularnych.
Wyrażenia regularne są specjalnym rodzajem zapisu, służącym do określania wzorców tekstu, w odróżnieniu od dokładnych ciągów znaków. W tej notacji używane są znaki liter i metaznaki. Każdy znak, który nie ma specjalnego znaczenia w składni wyrażeń regularnych, jest znakiem literowym i wyszukiwany jest dokładny odpowiednik tego znaku. Na przykład litery i liczby są znakami literowymi. Metaznak jest symbolem o specjalnym znaczeniu (operatorem lub separatorem) w składni wyrażeń regularnych.
Poniższa tabela zawiera listę metaznaków akceptowanych przez polecenie findstr.
Znak
Wartość
.
Symbol wieloznaczny: dowolny znak
*
Powtórzenie: zero lub więcej wystąpień poprzedniego znaku lub klasy
^
Pozycja w wierszu: początek wiersza
$
Pozycja w wierszu: koniec wiersza
[klasa]
Klasa znaków: dowolny znak w zestawie
[^klasa]
Klasa odwrócona: dowolny znak, którego nie ma w zestawie
[x-y]
Zakres: dowolne znaki wewnątrz określonego zakresu
\x
Unik: tekstowe użycie metaznaku x
\Pozycja w wyrazie: początek wyrazu
xyz\>
Pozycja w wyrazie: koniec wyrazu
Znaki specjalne w wyrażeniach regularnych są najbardziej użyteczne, jeżeli są używane razem. Na przykład następująca kombinacja symbolu wieloznacznego (.) i znaku powtórzenia (*) jest zgodna z dowolnym ciągiem znaków:
.*
Następującego wyrażenia można używać jako część większego wyrażenia zgodnego z dowolnym ciągiem rozpoczynającym się od znaku „b” i kończącym się znakami „ing”:
b.*ing
Przykłady
Spacji można używać do rozdzielania wielu ciągów wyszukiwania, jeżeli przed argumentem nie wpisano prefiksu /c. Aby wyszukać ciąg „hej” lub „tam” w pliku x.y, należy wpisać:
findstr "hej tam" x.y
Aby wyszukać ciąg „hej tam” w pliku x.y, należy wpisać:
findstr /c:"hej tam" x.y
Aby znaleźć wszystkie wystąpienia wyrazu „Windows” (z początkową wielką literą W) w pliku Propozycja.txt, należy wpisać:
findstr Windows propozycja.txt
Aby wyszukać w bieżącym katalogu i wszystkich podkatalogach każdy plik zawierający wyraz „Windows”, bez rozróżniania wielkości liter, należy wpisać
findstr /s /i Windows *.*
Aby znaleźć wszystkie wystąpienia wierszy zawierających wyraz „DLA” poprzedzony dowolną liczbą spacji (jak w pętli programu komputerowego) i dołączyć numery wierszy, w których wystąpienia zostały znalezione, należy wpisać:
findstr /b /n /c:" *DLA" *.bas
Aby wyszukać kilka różnych elementów w tym samym zestawie plików, należy utworzyć plik tekstowy zawierający każde kryterium wyszukiwania w nowym wierszu. Można również podać w pliku tekstowym konkretne pliki, które należy przeszukać. Aby użyć kryteriów wyszukiwania określonych w pliku Dane.txt, przeszukać pliki określone w pliku Lista_plików.txt, a następnie zapisać wyniki w pliku Wyniki.wyj, należy wpisać:
findstr /g:dane.txt /f:lista_plików.txt > wyniki.wyj
Przypuśćmy, że użytkownik chce znaleźć w bieżącym katalogu i wszystkich podkatalogach każdy plik zawierający wyraz komputer, bez rozróżniania wielkości znaków. Aby wyświetlić listę wszystkich plików zawierających wyraz komputer, należy wpisać:
findstr /s /i /m "\" *.*
Przypuśćmy teraz, że użytkownik chce znaleźć nie tylko wyraz „komputer”, ale również wszystkie inne wyrazy zaczynające się od liter „komp”, takie jak np. „kompost” lub „komplement”. W takim przypadku należy wpisać:
findstr /s /i /m "\

Brak komentarzy:

Prześlij komentarz

 
www.Webmaster.M106.COM