Sed: Nauka skryptów powłoki za pomocą polecenia Sed Terminal

Sed: Nauka skryptów powłoki za pomocą polecenia Sed Terminal

Sed: Nauka skryptów powłoki za pomocą polecenia Sed Terminal

Polecenie „sed” w Wolnych Systemach Operacyjnych typu GNU / Linux jest to polecenie bardzo wszechstronne, bo z kolei jest uważany za edytor tekstu zorientowany na „przepływ” zamiast „interaktywny” jako typowy, ponieważ akceptuje plik lub standardowe wejście jako wejście, przetwarza każdy wiersz, a wynik jest wysyłany na standardowe wyjście. To jest do powiedzenia, SED (Stream EDitor) pozwala nam modyfikować zawartość różnych wierszy pliku na podstawie serii poleceń lub pliku poleceń.

Ogólnie polecenie „sed” jest używane jako filtr, ponieważ czyta każdy wiersz Twojego wpisu danych, a następnie wykonuje żądane działania, które zwykle są odczytywane, wyodrębniane, modyfikowane, pokazywane lub zapisywane. Chociaż jego moc jest taka dodatkowo pozwala nam w wygodny sposób usuwać linie, rekordy lub podmieniać ciągi znaków w liniach pliku.

Wprowadzenie do polecenia „sed”

Ya en otras publicaciones anteriores en DesdeLinux hemos hablado y mostrados ejemplos sobre el uso de dicho comando, takie jak: Jak usunąć określone linie z pliku ... y Z terminalem: używanie wyrażeń regularnych II: zamiany, więc tym razem od razu zobaczymy trochę bardziej zaawansowane i równie praktyczne przykłady jego użycia.

Zasadniczo polecenie «sed» ma następującą składnię:

sed comandos_sed archivo

gdzie „Command_sed” odpowiada jednej lub kilku specyfikacjom dotyczącym tego, co zrobić z wierszami, z których są odczytywane „archiwum”.

Szersze zastosowanie pozostawia nam następującą składnię:

sed [-ns] '[direccion] instruccion argumentos'

Gdzie:

Format użycia poleceń SED

Praktyczne przykłady

Lista plików / folderów w ścieżce

Przydatny wiersz poleceń, za pomocą którego można wyświetlić zawartość określonej ścieżki X, a następnie wykryć / zliczyć / przefiltrować wyszukiwany element i wskazać kolejną akcję do wykonania.

ls -l | awk '{ print $NF }' | sed 1d

przykład:

Przykład 1: polecenie SED - wykonywanie skryptów powłoki

Ten inny wariant używający polecenia "sed" jest bardzo przydatny:

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

Przykład 4: Polecenie SED do obsługi skryptów powłoki

Utwórz sekwencję liczb

Wyświetl na ekranie lub zapisz w pliku utworzoną sekwencję liczb (lub dowolne inne dane wejściowe), ale w poziomie (liniowo), a nie w pionie, aby można było ją później odczytać dla innych procesów.

seq 100|tr '\n' ' '|sed 's, $,\n,g'

Przykład 2: Polecenie SED do obsługi skryptów powłoki

Ten sam przykład można zrobić, łącząc polecenie «pragnienie" z „Printf” jak pokazano niżej:

printf '%s ' {1..100}|sed 's/ $/\n/'

Przykład 3: Polecenie SED do obsługi skryptów powłoki

Usuń pliki z wykluczeniami

Przeszukiwanie ścieżki systemu plików w poszukiwaniu wzorców plików do wykluczenia, a następnie usuwanie pozostałej zawartości. Bardzo przydatny do precyzyjnego i starannego czyszczenia.

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

Przykład 5: polecenie SED dla Shell_Scripting

Utwórz wirtualny adres MAC

Ten krok może być przydatny w przypadku zadań związanych z bezpieczeństwem lub ochroną komputera podczas przeglądania niebezpiecznych witryn lub wykonywania zadań hakerskich.

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

Ten sam efekt można osiągnąć, używając polecenia „sed” w połączeniu z innymi poleceniami, jak pokazano poniżej:

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

przykład:

Przykład 7: Polecenie SED do obsługi skryptów powłoki

Tymczasowo zmień monit terminala

Może nam to pomóc w tymczasowym wstawieniu parametrów do naszego monitu, które mogą być dla nas przydatne podczas wykonywania specjalnych czynności. W tym przykładzie zmienimy tylko sposób wyświetlania monitu.

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

Przykład 8. Polecenie SED do obsługi skryptów powłoki

Zarządzaj danymi wyjściowymi polecenia „ps”

Bardzo praktyczna kolejność poleceń umożliwiająca formatowanie wyjścia polecenia «ps», to znaczy tego, co jest uzyskiwane z Menedżera procesów terminala.

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

przykład:

Przykład 9: Polecenie SED do obsługi skryptów powłoki

Można to zastosować do procesów zgodnie z procentem zajętej pamięci:

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

Te przykłady wierszy poleceń używających polecenia „sed” Mam nadzieję, że uznasz je za bardzo przydatne. I można ich używać bezpośrednio z konsoli lub pośrednio poprzez wstawienie ich do skryptu (zadanie automatyczne).

W następnym poście o skryptach powłoki omówimy inne polecenia.

Jeśli chcesz dowiedzieć się więcej o poleceniu „sed”, odwiedź ten link ”Samouczek i krótki przewodnik dla systemów Unix i Linux"Lub"Podstawowe zastosowanie»A jeśli chcesz dowiedzieć się więcej o skryptach powłoki na naszym własnym blogumożesz zapoznać się z innymi naszymi publikacjami na ten temat, klikając tutaj: Skrypty DesdeLinux.


Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.