Pisanie wydajnego dla pętli w poradach i sztuczkach Bash

Pisanie wydajnego dla pętli w poradach i sztuczkach Bash

Bash jest popularnym językiem skorupowym, który jest powszechnie używany w systemach operacyjnych opartych na Linux i Unix. Jednym z najczęściej używanych konstrukcji w BASH jest pętla, która jest używana do iteracji nad zestawem elementów i wykonywania konkretnego działania na każdym elemencie. Jednak ważne jest, aby wydajnie pisać w przypadku pętli, aby zoptymalizować wydajność skryptu.

Należy również zauważyć, że Bash jest tylko jednym z wielu dostępnych języków scenariuszy, a jego możliwości mogą być ograniczone w niektórych scenariuszach. Jeśli okaże się, że skrypty bash stają się zbyt złożone lub trudne do zoptymalizowania, możesz rozważyć użycie silniejszego języka skryptowego, takiego jak Python lub Perl.

W tym samouczku zbadamy kilka wskazówek i wskazówek dotyczących efektywnego pisania dla pętli w Bash.

Wskazówka nr 1: Użyj odpowiedniej składni

Składnia Basic for Loop w Bash jest następująca:

dla zmiennej w [listach] do [poleceń (s)]
1234dla zmiennej w [listach] do [poleceń (s)]

[Lista] może być zestawem elementów oddzielonych przez spacje lub może być zakres liczb określonych za pomocą składni start… end. Ważne jest, aby użyć poprawnej składni dla konkretnego przypadku użycia.

Na przykład, jeśli iterujesz duży zestaw elementów, lepiej jest użyć składni zakresu zamiast wymieniać każdy element indywidualnie. Może to pomóc w poprawie wydajności poprzez zmniejszenie liczby iteracji potrzebnych do ukończenia pętli.

Wskazówka nr 2: Minimalizuj polecenia zewnętrzne

Za każdym razem, gdy wykonywasz polecenie w pętli, ponosi one karę wydajności z powodu kosztów uruchomienia nowego procesu. Dlatego ważne jest, aby zminimalizować liczbę zewnętrznych poleceń używanych w ramach pętli dla.

Na przykład, zamiast używać zewnętrznego polecenia do zliczenia liczby plików w katalogu, możesz użyć wbudowanego polecenia bash, aby osiągnąć to samo:

file_count = 0 dla pliku w/ścieżka/do/katalog/* do ((file_count ++))
12345file_count = 0 dla pliku w/ścieżka/do/Directory/*do ((file_count ++))

To eliminuje potrzebę zewnętrznego polecenia, co może pomóc poprawić wydajność.

Wskazówka nr 3: Użyj tablic

Korzystanie z tablicy do przechowywania przedmiotów, które chcesz iterować, może pomóc w poprawie wydajności pętli. Wynika to z faktu, że tablice są bardziej wydajne niż użycie serii wartości oddzielonych przestrzenią.

Na przykład zamiast korzystać z listy takich wartości, takich jak ten:

Wartość wartości 1 wartość 2 Wartość 3 Wartość 4 do [polecenie (s)]
1234Wartość wartości 1 wartość 2 Wartość3 Wartość4do [polecenie (s)]

Możesz użyć takiej tablicy:

wartości = („wartość
12345wartości = („wartość

Może to pomóc w poprawie wydajności poprzez zmniejszenie kosztów parsowania łańcucha na indywidualne wartości.

Wskazówka nr 4: Użyj rozszerzenia parametru powłoki

Korzystanie z rozszerzenia parametrów Shell może pomóc w uproszczeniu pętli i poprawić wydajność poprzez zmniejszenie liczby poleceń, które należy wykonać.

Na przykład, zamiast używać zewnętrznego polecenia, aby znaleźć długość tablicy, możesz użyć rozszerzenia parametru powłoki:

wartości = („wartość<$#values[@]; i++)) do [command(s) "values[i]"] done
12345wartości = („wartość<$#values[@]; i++))do [command(s) "values[i]"]done

To eliminuje potrzebę zewnętrznego polecenia, co może pomóc poprawić wydajność.

Wskazówka #5: Użyj wbudowanych poleceń Bash

Bash ma wiele wbudowanych poleceń, które mogą pomóc poprawić wydajność twoich pętli. Na przykład możesz użyć polecenia printf do drukowania sformatowanego wyjścia w pętli, co może być bardziej wydajne niż użycie zewnętrznego polecenia, takiego jak echo.

bo w 1… 10 do printf „liczba %d \ n” „$ i” gotowe
1234bo w 1… 10 do printf „liczba %d \ n” „$ i” gotowe

Może to pomóc w poprawie wydajności poprzez zmniejszenie kosztów ogólnych uruchamiania poleceń zewnętrznych.

Wniosek

Podsumowując, pisanie wydajne dla pętli w BASH może znacznie poprawić wydajność scenariuszy i skrócić czas wykonania. Wdrażając porady i sztuczki omówione w tym artykule, takie jak minimalizacja użycia poleceń zewnętrznych, zmniejszenie liczby iteracji i stosowanie technik równoległości, możesz zoptymalizować skrypty Bash w celu szybszego i wydajniej przetwarzania danych.

Niezależnie od wybranego języka, kluczem do pisania wydajnych skryptów jest ciągłe analizowanie i optymalizację kodu, testowanie różnych podejść i zawsze pamiętaj o wydajności. Mając na uwadze te zasady, możesz stworzyć solidne i wydajne skrypty, które mogą poradzić sobie nawet z najbardziej wymagającymi zadaniami przetwarzania danych.