Pipe, Grep en Sort Command in Linux / Unix met voorbeelden

Inhoudsopgave:

Anonim

In deze tutorial zullen we leren-

  • Wat is een pijp in Linux?
  • 'pg' en 'meer' opdrachten
  • Het 'grep'-commando
  • Het 'sort' commando
  • Wat is een filter?

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 '|' geeft een pijp aan.

Pipes helpen je twee of meer commando's tegelijk samen te voegen en ze achter elkaar uit te voeren. U kunt krachtige commando's gebruiken die complexe taken in een handomdraai kunnen uitvoeren.

Laten we dit begrijpen met een voorbeeld.

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 'doorsluizen, waardoor u slechts één scroll-lengte van de inhoud tegelijk kunt zien.

cat filename | less 

Een illustratie zou het duidelijk maken.

Klik hier als de video niet toegankelijk is

'pg' en 'meer' opdrachten

In plaats van 'minder' kunt u ook gebruiken.

cat Filename | pg 

of

cat Filename | more

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

Het 'grep'-commando

Stel dat u een bepaalde informatie op de postcode uit een tekstbestand wilt zoeken.

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 een formaat dat u wilt.

Syntaxis:

grep search_string

Laten we het in actie zien -

Hier heeft het grep- commando het bestand 'sample' doorzocht, naar de string 'Apple' en 'Eat'.

Bij deze opdracht kunnen de volgende opties worden gebruikt.

Optie Functie
-v Toont alle regels die niet overeenkomen met de gezochte tekenreeks
-c Geeft alleen het aantal overeenkomende regels weer
-n Toont de overeenkomende regel en het nummer ervan
-ik Overeenkomen met beide (hoofd- en kleine) letters
-l Toont alleen de naam van het bestand met de tekenreeks

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

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

Het 'sort' commando

Deze opdracht helpt bij het alfabetisch sorteren van de inhoud van een bestand.

De syntaxis voor deze opdracht is:

sort Filename

Overweeg de inhoud van een bestand.

Met behulp van de sorteeropdracht

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

Optie

Functie

-r

Keert sorteren om

-n

Sorteert numeriek

-f

Hoofdlettergevoelig sorteren

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

Wat is een filter?

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

Als je twee commando's doorgeeft, wordt de "gefilterde" uitvoer van het eerste commando doorgegeven aan het volgende.

Laten we dit begrijpen met behulp van een voorbeeld.

We hebben het volgende bestand 'sample'

We willen alleen de regels markeren die niet het teken 'a' 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.

Overzicht:

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