Pipe-, Grep- en sorteeropdracht in Linux/Unix met voorbeelden

Wat is een pijp in Linux?

The Pipe is een commando in Linux waarmee je twee of meer commando's kunt gebruiken, zodat de uitvoer van het ene commando dient als invoer voor het volgende. Kortom, de output van elk proces direct als input voor het volgende als een pijplijn. Het symbool '|' duidt een pijp aan.

Pipes helpen je om twee of meer commando's tegelijk te mash-uppen en ze achter elkaar uit te voeren. Je kunt krachtige commando's gebruiken die complexe taken in een handomdraai kunnen uitvoeren.

Laten we dit met een voorbeeld begrijpen.

Wanneer u de opdracht 'cat' gebruikt om een ​​bestand te bekijken dat meerdere pagina's beslaat, springt de prompt snel naar de laatste pagina van het bestand en ziet u de inhoud niet in het midden.

Om dit te voorkomen, kunt u de uitvoer van het 'cat'-commando naar 'less' leiden, waardoor u slechts één scrolllengte aan inhoud tegelijk kunt zien.

cat filename | less 

Een illustratie zou het duidelijk maken.

Wat is een pijp in Linux

Klik hier als de video niet toegankelijk is

'pg'- en 'more'-opdrachten

In plaats van ‘minder’ kun je ook gebruiken.

cat Filename | pg 

or

cat Filename | more

En u kunt het bestand in verteerbare bits bekijken en naar beneden scrollen door simpelweg op de Enter-toets te drukken.

'pg'- en 'more'-opdrachten

Het 'grep'-commando

Stel dat u bepaalde informatie (de postcode) uit een tekstbestand wilt opzoeken.

U kunt de inhoud zelf handmatig doorbladeren om de informatie te traceren. Een betere optie is om het grep-commando te gebruiken. Het scant het document op de gewenste informatie en presenteert het resultaat in het gewenste formaat.

Syntax:

grep search_string

Laten we het in actie zien –

Het 'grep'-commando

Hier grep command heeft in het bestand 'sample' gezocht naar de string 'Apple' en 'Eat'.

De volgende opties kunnen met deze opdracht worden gebruikt.

Keuze Functie
-v Toont alle regels die niet overeenkomen met de gezochte string
-c Geeft alleen het aantal overeenkomende regels weer
-n Toont de overeenkomende lijn en het nummer ervan
-i Zorg ervoor dat beide letters (hoofdletters en kleine letters) overeenkomen
-l Toont alleen de naam van het bestand met de tekenreeks

Laten we de eerste optie proberen '-i' op hetzelfde bestandsgebruik hierboven –

Met behulp van de 'i'-optie heeft grep de string 'a' (niet hoofdlettergevoelig) uit alle regels gefilterd.

Het 'grep'-commando

Het commando 'sorteren'

Dit commando helpt hierbij de inhoud van een bestand alfabetisch sorteren.

De syntaxis voor deze opdracht is:

sort Filename

Denk aan de inhoud van een bestand.

Het commando 'sorteren'

Met behulp van de sorteeropdracht

Het commando 'sorteren'

Er zijn extensies ook op dit commando, en ze worden hieronder vermeld.

Keuze Functie
-r Revers sorteren
-n Sorteert numeriek
-f Hoofdletterongevoelig sorteren

Het onderstaande voorbeeld toont het omgekeerde sorteren van de inhoud in bestand 'abc'.

Het commando 'sorteren'

Wat is een filter?

Linux heeft veel filteropdrachten zoals awk, grep, sed, spell en wc. Een filter neemt invoer van één opdracht, voert enige verwerking uit en geeft uitvoer.

Wanneer u twee opdrachten doorsluist, wordt de “gefilterde” uitvoer van de eerste opdracht doorgegeven aan de volgende.

Wat is een filter

Laten we dit begrijpen aan de hand van een voorbeeld.

We hebben het volgende bestand 'sample'

Wat is een filter

Wij willen benadrukken alleen de regels die het teken 'a' niet bevatten, maar het resultaat moet in omgekeerde volgorde zijn.

Hiervoor kan de volgende syntaxis worden gebruikt.

cat sample | grep -v a | sort - r

Laten we naar het resultaat kijken.

Wat is een filter

Overzicht:

  • Leidingen '|' stuur de uitvoer van één commando als invoer van een ander commando.
  • Het filter neemt invoer van één opdracht, voert enige verwerking uit en geeft uitvoer.
  • Het grep-commando kan worden gebruikt om tekenreeksen en waarden in een tekstdocument te vinden
  • Het doorvoeren van grep moet een van de meest voorkomende toepassingen zijn
  • Het commando 'sort' sorteert de inhoud van een bestand alfabetisch
  • less,pg en more commando's worden gebruikt om een ​​lang bestand in leesbare bits te verdelen