weź obrazy linuksa
jakoś je sobie rozmieść w folderze
napisz skrypt co odpala dla każdego z wersji cloc'a
(cloc zlicza ile jest linii kodu oraz pliku w danym pliku tar.gz)
wykorzystaj dane do zobrazowania tego w pythonie
koniec
-l: Wyświetla szczegółowe informacje o plikach w formie listy.
-A: Wyświetla wszystkie pliki, pomijając katalog bieżący . i katalog nadrzędny …
-F: Dodaje do nazw plików sufiksy wskazujące na rodzaj pliku (np. "/" dla katalogów).
-b: Wyświetla nieprzetworzone znaki niestandardowe w formie ucieczek odwrotnych.
-h: Używa czytelnych rozmiarów (np. KB, MB).
-v: Sortuje pliki alfabetycznie w sposób naturalny (np. 1, 2, 10, zamiast 1, 10, 2).
–color=always: Włącza kolorowanie wyników ls, nawet gdy wyjście nie jest przekierowane na terminal.
-X: Nie wyciera ekranu po wyjściu z pliku.
-E: Wyłącza wyświetlanie ostrzeżenia "END OF FILE" na dole ekranu.
-R: Umożliwia kolorowanie wyników ls przekierowanych do less.
Podstawowe opcje programu grep:
-i, –ignore-case: Ignoruje wielkość liter podczas wyszukiwania.
-v, –invert-match: Wyświetla linie, które nie pasują do wzorca.
-r, –recursive: Wyszukuje rekursywnie w podkatalogach.
-n, –line-number: Wyświetla numery linii, w których występują dopasowania.
-l, –files-with-matches: Wyświetla tylko nazwy plików zawierających dopasowania, a nie same dopasowania.
-E, –extended-regexp: Używa rozszerzonych wyrażeń regularnych, co pozwala na skorzystanie z dodatkowych możliwości w wyrażeniach.
-w, –word-regexp: Dopasowuje tylko całe słowa, nie fragmenty słów.
-f, –file: wyszukuje patterny z pliku tekstowego
Przykłady:
find - program wyszukiwania plików w systemie plików
Podstawowe opcje:
-name pattern
: Wyszukuje pliki o określonym wzorze w nazwie.
Przykład: find . -name "*.txt"
-type type
: Określa typ szukanych obiektów (plik, katalog, dowiązanie symboliczne itp.).
Przykład: find . -type d
- znajduje wszystkie katalogi
-size [+|-]size_unit
: Wyszukuje pliki o określonym rozmiarze.
Przykład: find . -size +1M
- znajduje pliki większe niż 1 megabajt
-exec command {} +
: Wykonuje określone polecenie dla każdego znalezionego pliku.
Przykład: find . -name "*.txt" -exec rm {} +
- usuwa wszystkie pliki z rozszerzeniem .txt
{}
oznacza aktualnie przetwarzany plik.+
oznacza, że polecenie -exec będzie wykonywane dla grupy plików, które zostały znalezione, a nie dla każdego pliku osobno. Zamiast +
można użyć /
i wtedy przetwarza każdy plik osobno-mtime -n
: Wyszukuje pliki zmodyfikowane przed określoną liczbą dni.
Przykład: find . -mtime -7
- znajduje pliki zmodyfikowane w ciągu ostatnich 7 dni
-maxdepth n
: Ogranicza wyszukiwanie do określonej głębokości katalogów.
Przykład: find . -maxdepth 2 -name "*.txt"
- znajduje pliki z rozszerzeniem .txt w bieżącym katalogu i jednym poziomie podkatalogów.
-mindepth n
: Określa minimalną głębokość wyszukiwania.
Przykład: find . -mindepth 2 -name "*.txt"
- znajduje pliki z rozszerzeniem .txt w podkatalogach, z pominięciem bieżącego katalogu.
6.1
(Wersja dla archo-pochodnych ( pochodne))
6.2
6.3
6.4 wtf? (nwm czy o to chodzi)
6.5
7.1
7.2
7.3
7.4
7.5
Sed (strumieniowy edytor) jest to narzędzie do przetwarzania tekstu w strumieniu.
Krótkie omówienie głównych funkcji i opcji programu sed:
Edycja strumieniowa: Sed działa na strumieniach tekstu, czyli danych wejściowych podawanych na standardowe wejście. Może być stosowany do edycji plików tekstowych, ale także do przekształcania wyniku innych poleceń, takich jak echo
, cat
, czy grep
.
Wyrażenia regularne: Sed obsługuje wyrażenia regularne, które pozwalają na wyszukiwanie i manipulację tekstem na podstawie wzorców. Można używać wyrażeń regularnych do wyszukiwania, zastępowania, usuwania oraz dodawania tekstu.
Operacje na tekście: Sed oferuje różne operacje, takie jak:
s/pattern/replacement/
: Zastępuje wystąpienia wzorca pattern
tekstem replacement
.d
: Usuwa pasujące linie.p
: Drukuje pasujące linie.i
: Wstawia tekst przed wskazaną linią.a
: Wstawia tekst po wskazanej linii.c
: Zamienia wskazaną linię na nowy tekst.r
: Wstawia zawartość pliku na wskazanej linii.Przykłady:
Modyfikacje tekstu: Sed pozwala na modyfikowanie tekstu na podstawie wyrażeń regularnych oraz operacji, które można wykonywać na pasujących fragmentach tekstu.
Przetwarzanie wieloliniowe: Sed umożliwia przetwarzanie tekstu w kontekście wielu linii, co pozwala na bardziej zaawansowane operacje, takie jak łączenie, dzielenie lub przemieszczanie linii.
Opcje: Sed oferuje różne opcje, które pozwalają na dostosowanie jego zachowania, na przykład
Jakieś rozwiązanie moje mam nadzieję, że git
I jakieś krótkie omówienie, chyba najbardziej tricky linijek
odpowiada czy istnieje dany pattern w zapytaniu, można sprawdzić np.
To może weźmy po kolei
echo "RGBBRG" | grep -b RG
doklei 0:RGBBRG
ale teraz łącząc z -o które wypisuje tylko interesujący nas output dostaniemy
echo "RGBBRG" | grep -b -o BR
3:BR
bo ten pattern zaczyna się przy 3 pozycji więc kox
No dalej mamy head -n 1, to raczej nie wymaga wyjaśnienia, ale jeśli jest wiele patternów to wypisujemy tylko 1 z nich
I teraz wchodzi cut -d: -f1
W skrócie działa jak split pythonowy czyli splitujemy po znaku który mamy po -d, w naszym przypadku :
-f1 precyzuje, że chcemy pierwszy element po tym splicie czyli dla formatu x:pattern -> dostaniemy x, gdzie x to miejsce, gdzie się zaczyna pattern