CMD xyz\>, \<xyz


(chiquita1234) #1

Witam,

Chciałabym wyszukać w Wierszu Poleceń wyrazu zaczynającego się na “AARTT” a kończącego na “TAT” (chodzi tu o sekwencję nukleotydów). W jaki sposób skonstruować polecenie find. Domyślam się, że należy użyć <xyz Word position: beginning of word, xyz> Word position: end of word. Tylko jak powinno wyglądać polecenie?

Mam jeszcze jedno pytanie związane z pierwszym. Jeśli znam początek i koniec wyrazu i ilość liter występująca między nimi np. 10. To jak powinno wyglądać polecenie.

Z góry dziękuje za odpowiedź,

Kasia


(Pablo_Wawa) #2

Na https://ss64.com/nt/findstr.html wszystko jest ładnie pisane (wraz z przykładami).


(chiquita1234) #3

Czytałam już tą stronkę, niestety nie ma tam przykładu dotyczącego mojego przypadku. Byłabym wdzięczna za pomoc w napisaniu polecenia, które mnie interesuje :slight_smile:


(Pablo_Wawa) #4

Zakładając, że w pliku sekwencje.txt masz w kolejnych wierszach jakieś sekwencje nukleotydów, jak np. poniżej

AARTTAGCCAGGATA
TACGCCAGCGCCGA
AARTTTRAGCCAGATAT
CGCCAGTCGCRCGA
GCAARTTTRAGCCAGATAT
TAARTTTRAGCCAGATATA

to wyszukanie tych wierszy (sekwencji), o jakich napisałaś, uzyskasz takim poleceniem:
FINDSTR /I /R /C:"^AARTT.*TAT$" sekwencje.txt
I wtedy (dla tej przykładowej zawartości) wynikiem będzie jeden wiersz

AARTTTRAGCCAGATAT

No chyba, że Cię nie zrozumiałem i oczekujesz czegoś innego (to wyjaśnij dokładniej).

EDIT: wyjaśnienie tego polecenia:
/I - wielkość liter w wyszukiwanym tekście nie ma znaczenia (jak ma, opuść ten przełącznik)
/R - użycie wyrażenia regularnego (w którym mamy możliwość oznaczenia początku i/lub końca szukanego ciągu oraz użycia dopasowania dowolnych znaków (tu kropka oznacza dowolny znak, a gwiazdka dowolną liczbę jego występowania)
/C oznacza użycie podanego (w cudzysłowach) zdefiniowanego ciągu do poszukiwania
To wszystko jest ładnie opisane w podlinkowanym findstr.