Funkcje ciągów AWK
- 4231
- 421
- Tomasz Szatkowski
AWK to potężne narzędzie do przetwarzania tekstu, które jest powszechnie używane do manipulowania i analizy danych w środowiskach Unix i Linux. Jedną z kluczowych cech AWK jest jego zdolność do manipulowania strunami za pomocą szerokiej gamy wbudowanych funkcji.
W tym artykule zbadamy niektóre z najczęściej używanych funkcji manipulacji strunami w AWK.
długość (ciąg)
: Zwraca długość określonego ciągu.substr (ciąg, start, długość)
: Zwraca podłoże określonego ciągu, zaczynając od określonej pozycji i z określoną długością.indeks (ciąg, podaj)
: Zwraca położenie pierwszego występowania określonego podłoża w określonym ciągu.split (ciąg, tablica, separator)
: Dzieli określony ciąg na tablicę podłoża, używając określonego separatora, aby określić, gdzie podzielić ciąg.sub (RegexP, zamiennik, ciąg)
: To zastępuje pierwszy występujący wyrażenie regularne z łańcucha „zamiennikiem”.GSUB (Regexp, zamiennik, ciąg)
: Zastępuje wszystkie wystąpienia określonego wyrażenia regularnego w określonym ciągu określonym ciągiem zastępczym.dopasowanie (ciąg, RegexP)
: Wyszukuje określony ciąg pierwszego występowania określonego wyrażenia regularnego i zwraca położenie dopasowania i długość dopasowanego podłoża w tablicy.Tolower (string) i toupper (ciąg)
: Konwertuje wszystkie wielkie lub małe znaki w określonym ciągu odpowiednio w znaki małymi lub wielkimi.
Zrozummy wszystkie funkcje ciągów jeden po drugim, w tym przykład:
1. długość (ciąg)
długość (ciąg)
Funkcja zwraca długość określonego ciągu. Na przykład, jeśli chcemy znaleźć długość łańcucha "Witaj świecie!", Możemy użyć następującego kodu:
1 | awk 'start druk długość („Cześć, świat!") ' |
To będzie wyprowadzone „13”, Od sznurka „Witaj, świat!”Ma 13 znaków.
2. substr (ciąg, start, długość)
substr (ciąg, start, długość)
Funkcja zwraca podłoże określonego ciągu, zaczynając od określonej pozycji i z określoną długością. Na przykład, jeśli chcemy wyodrębnić pierwsze 5 znaków ciągu "Witaj świecie!", Możemy użyć następującego kodu:
1 | awk 'start print substr ("hello, świat!", 1, 5) ' |
To będzie wyprowadzone "Cześć", Ponieważ pierwsze 5 znaków sznurka to „Hello”.
3. indeks (ciąg, podaj)
indeks (ciąg, podaj)
Funkcja zwraca położenie pierwszego występowania określonego podłoża w określonym ciągu. Na przykład, jeśli chcemy znaleźć pozycję „Świata” podjazdu w ciągu „Witaj, świat!”, Możemy użyć następującego kodu:
1 | awk 'start indeks print („Cześć, świat!", "Świat")' |
To będzie wyprowadzone „8”, Ponieważ „świat” podłoża zaczyna się na 8. pozycji w ciągu.
4. split (ciąg, tablica, separator)
split (ciąg, tablica, separator)
Funkcja dzieli określony ciąg na tablicę podłoża, za pomocą określonego separatora w celu ustalenia, gdzie podzielić ciąg. Na przykład, jeśli chcemy podzielić ciąg „Apple, banan, pomarańczowy” na tablicę podłoża za pomocą przecinka jako separatora, możemy użyć następującego kodu:
1 | awk 'start split („jabłko, banan, pomarańcza”, a, „,”); Dla (i in a) wydrukuj [i] ' |
To wyjdzie:
Wyjście Apple Banana Orange
5. sub (RegexP, zamiennik, ciąg)
sub (RegexP, zamiennik, ciąg)
Funkcja zastępuje pierwsze występowanie określonego wyrażenia regularnego w określonym ciągu określonym ciągiem zastępczym. Na przykład, jeśli chcemy zastąpić tylko pierwsze wystąpienie litery „O” w ciągu „Witaj, świat!”Z literą„ A ”możemy użyć następującego kodu:
1 | awk 'start sub („o”, „a”, „hello, świat!"); print ' |
To będzie wyprowadzone „Holla, świat!", Od czasu pierwszego wystąpienia litery „O” zostało zastąpione literem „A”.
6. GSUB (Regexp, zamiennik, ciąg)
Funkcja GSUB (Regexp, Repepation, String) zastępuje wszystkie wystąpienia określonego wyrażenia regularnego w określonym ciągu z określonym ciągiem zastępczym. Na przykład, jeśli chcemy zastąpić wszystkie wystąpienia litery „O” w ciągu „Witaj, świat!”Z literą„ A ”możemy użyć następującego kodu:
Awk 'start gsub („o”, „a”, „hello, świat!"); print '1 | Awk 'start gsub („o”, „a”, „hello, świat!"); print ' |
Będzie to wyprowadzić „Hella, Warld!”, Ponieważ wszystkie wystąpienia litery„ O ”zostały zastąpione literem„ A ”.
7. dopasowanie (ciąg, RegexP)
dopasowanie (ciąg, RegexP)
Funkcja przeszukuje określony ciąg pierwszego występowania określonego wyrażenia regularnego i zwraca położenie dopasowania i długość dopasowanej podłoży w tablicy. Na przykład, jeśli chcemy znaleźć pozycję i długość pierwszego wystąpienia słowa „świat” w ciągu „Witaj, świat!”, Możemy użyć następującego kodu:
1 | awk 'start mecz („Witam, świat!", /Świat /); drukuj rstart, rlength '' |
To będzie wyprowadzone „8 5”, Ponieważ słowo „świat” zaczyna się na 8. pozycji w ciągu i ma długość 5 znaków.
8. Tolower (string) i toupper (ciąg)
Tolower (ciąg)
Funkcja konwertuje wszystkie znaki wielkiego w określonym ciągu na małe znaki, podczas gdy funkcja Toupper (String) konwertuje wszystkie małe znaki w określonym ciągu na znaki wielki. Na przykład, jeśli chcemy przekonwertować ciąg „Cześć, świat!„Do wszystkich małych liter możemy użyć następującego kodu:
1 | awk 'start print toolower („Cześć, świat!") ' |
To będzie wyprowadzone "Witaj świecie!".
Podobnie, jeśli chcemy przekonwertować ten sam ciąg na wszystkie wielkie litery, możemy użyć następującego kodu:
awk 'start print toupper („Cześć, świat!") '1 | awk 'start print toupper („Cześć, świat!") ' |
To będzie wyprowadzone "WITAJ ŚWIECIE!".
Wniosek
W tym artykule zbadaliśmy niektóre z najczęściej używanych funkcji manipulacji strunami w AWK. Funkcje te pozwalają nam wykonywać szeroką gamę zadań, takich jak znalezienie długości sznurka, wyodrębnienie podłoża, wyszukiwanie wzorów, podział ciągów na tablice i przekształcanie tekstu na różne przypadki. Opanując te funkcje, możemy stać się bardziej biegli w pracy z danymi tekstowymi w środowiskach UNIX i Linux i zwiększyć naszą wydajność jako analitycy danych i programistów.