Hoe de CUT-opdracht in Linux te gebruiken

Het gebruik van commando's in Linux is een van de meest praktische manieren om veel taken te beheren, of het nu gaat om bestanden, services of processen, en het beste hieraan is dat we verschillende commando's hebben met elk hun eigen specifieke functie.

Een van deze commando's die we vaak kunnen gebruiken, is het cut-commando dat is geïmplementeerd in Unix-besturingssystemen, en het doel van dit commando is om secties van elke regel uit een gespecificeerd bestand te verwijderen of te knippen.

Het gebruik van dit commando kan worden gebruikt om delen van een regel te knippen, hetzij door bytepositie, teken of veld, afhankelijk van de behoefte van het geval, zodat met het knipcommando het mogelijk zal zijn om een ​​deel van een tekst te extraheren op basis van enkele variabelen om gebruik.

Solvetic zal in detail uitleggen hoe je het cut-commando kunt gebruiken en correct kunt gebruiken in Linux-omgevingen, in dit geval werken we op Ubuntu 19.04.

1. Linux-opdracht knippen


De basissyntaxis voor het gebruik van deze opdracht is als volgt:
 knippen OPTIE… [BESTAND]… 
Onder de beschikbare opties voor deze opdracht vinden we de volgende en u beslist welke u wilt gebruiken:

Deze optie toont en selecteert alleen de bytes van elke regel op basis van wat we aangeven in LIST. LIST kan verwijzen naar een byte, een set bytes of een reeks bytes

 -b, --bytes = LIJST

Deze optie selecteert alleen de karakters van elke regel op basis van LIST
 -c, --karakters = LIJST

Het is mogelijk om het DELIM-teken te gebruiken als veldscheidingsteken
 -d, --scheidingsteken = DELIM

Door deze optie te gebruiken gaan we alleen de velden in elke regel selecteren of we kunnen de regels afdrukken die geen scheidingstekens bevatten
 -f, --fields = LIJST

Het is een compatibiliteitsoptie
 -N

Deze optie is een aanvulling op de set bytes, tekens of geselecteerde velden
 --aanvulling

Drukt geen regels af die geen scheidingstekens bevatten
 -s, --alleen gescheiden

Het is mogelijk om STRING te gebruiken als de begrenzende tekenreeks voor de uitvoer van de resultaten
 --output-delimiter = STRING

Geeft hulp weer voor het knippen commando
 --helpen

We kunnen de versie van het gebruikte cut-commando zien
 --versie

2. Hoe de cut-opdracht in Linux te gebruiken?

Stap 1
Om te beginnen kunnen we de inhoud van een tekstbestand op het bureaublad bekijken en waarmee we het werk van de cut-opdracht zullen zien, deze inhoud kan worden bekeken met behulp van de cat-opdracht:

Stap 2
Elke lijst in Linux bestaat uit een geheel getal, een reeks gehele getallen of meerdere reeksen gehele getallen die worden gescheiden door komma's, met knippen kunnen de volgende leesopties worden gebruikt.

  • N de N-de byte, het teken of het veld, geteld vanaf 1.
  • N- van de N-de byte, het teken of het veld tot het einde van de regel.
  • N-M van de N-de tot de M-byte, teken of veld (inclusief).
  • -M van de eerste byte tot de mde byte, teken of veld

Als we de cut zonder parameter uitvoeren, zien we het volgende resultaat:

3. Hoe de -b (byte) parameter Linux te gebruiken?


Het eerste gebruik dat we van cut zullen maken is met de parameter -b (byte) die de bytes extraheert die we aangeven, hiervoor moet de -b optie zijn met de lijst met bytenummers gescheiden door komma's.

OpmerkingHet bytebereik kan worden aangegeven met een streepje (-)

Iets belangrijks om in gedachten te houden is dat zowel de tabs als de lege spaties worden beschouwd als een 1-byte teken om er rekening mee te houden bij het definiëren van het bereik of de limiet.

Stap 1
We gaan bijvoorbeeld het volgende uitvoeren:

 knippen -b 1,2,3 Solvetic

Stap 2
Er is een speciale manier waarmee we de bytes van het begin tot het einde van de regel kunnen selecteren, hiervoor kunnen we het volgende uitvoeren:

 knippen -b 1- Solvetic

Stap 3
Hier geeft de waarde 1- de selectie aan van de eerste byte tot het einde van de byte van een regel in het bestand, nu kunnen we het volgende uitvoeren:

 knippen -b -4 Solvetic

In dit geval hebben we de eerste 4 bytes van de regel geëxtraheerd.

4. Hoe de -c (kolom) Linux-parameter te gebruiken


Een andere gebruiksparameter is de selectie van kolom ©, dit stelt ons in staat om een ​​reeks tekens te selecteren op basis van de behoefte, de gebruikssyntaxis is als volgt:
 knippen -c [(k) - (n) / (k), (n) / (n)] bestand
De waarden hier kunnen een door komma's gescheiden lijst met getallen zijn of een reeks getallen gescheiden door een koppelteken.

In de gegeven syntaxis geeft de letter k de beginpositie van het teken aan en de letter n verwijst naar de uiteindelijke positie van het teken in elke gegeven regel.

Stap 1
We gaan het volgende uitvoeren en kijken wat er gebeurt:

 knippen -c 2,4,6 Solvetisch

Stap 2
In dit geval zien we dat de karakters worden geëxtraheerd in de posities die we hebben aangegeven, maar het is mogelijk om een ​​reeks karakters op de volgende manier weer te geven:

 knippen -c 2-5 Solvetisch

Stap 3
Net als de vorige parameter kunnen we alle bytes van de regel weergeven met de volgende optie:

 knippen -c 1- Solvetic
Of we kunnen een gedefinieerd bereik als volgt extraheren:
 knippen -c -3 Solvetic

5. Hoe de -f (veld) Linux-parameter te gebruiken


Als we de parameter -c gebruiken, wordt deze gebruikt voor regels met een reeds gedefinieerde extensie, maar net als in Linux-systemen zijn er bestanden zonder lengtebeperking.

Stap 1
We moeten de gegevens op velden knippen in plaats van de kolommen te gebruiken, daar komt de parameter -f in het spel, die de volgende syntaxis gebruikt:

 cut -d "scheidingsteken" -f (veld #) bestand
We kunnen het volgende uitvoeren:
 knippen -f 1 Solvetic

Stap 2
Daar kunnen we de parameter -d toevoegen, die de spatie inneemt als veldscheidingsteken of scheidingsteken:

 knippen -d "" -f 1 Solvetic

Stap 3
Nu kunnen we meer velden weergeven als dit het geval is met behulp van het bereik met een koppelteken:

 cut -d "" -f 1-3 Solvetic

6. Hoe de Linux -complement parameter te gebruiken

Stap 1
Deze waarde is een aanvulling op de uitvoer van de snijresultaten en kan zonder problemen worden gebruikt met -f of -c, bijvoorbeeld laten we uitvoeren:

 knippen --complement -d "" -f 1 Solvetic

Stap 2
Of we kunnen uitvoeren:

 knippen --complement -c 4 Solvetic
Hiermee wordt het vierde teken op de regels van het geselecteerde bestand geknipt:

7. Hoe de Linux -output-delimiter parameter te gebruiken


Het vervult dezelfde functie als het invoerscheidingsteken dat wordt gebruikt met de optie -d, dit scheidingsteken kan worden bewerkt met behulp van de syntaxis -output-delimiter = "scheidingsteken".
 cut -d "" -f 1,2 Solvetic --output-delimiter = '%'

Daar worden de spaties aangevuld met het %-teken.

8. Hoe waarden van andere Linux-mappen af ​​te bakenen


Met het cut-commando kunnen we parameters in andere Linux-directory's of -bestanden afbakenen, een voorbeeld hiervan is de / etc / passwd-directory waarin de informatie van elke gebruiker in het systeem is ondergebracht, één gebruiker per regel, en daar elk van deze velden worden gescheiden door een dubbele punt (":"), de syntaxis van een gebruiker is als volgt:
 root: x: 0: 0: root: / root: / bin / bash
De hier weergegeven gegevens zijn:
  • gebruikersnaam
  • Wachtwoord (verborgen met een x als het versleuteld is)
  • Gebruikers-ID-nummer (UID)
  • Groeps-ID-nummer (GID)
  • Opmerkingen
  • Directory Home
  • Schelp

Stap 1
Aangezien de gebruikersnaam het eerste veld op de regel is, zullen we het volgende uitvoeren als we alleen dit veld willen weergeven:

 knip -f 1 -d ':' / etc / passwd

Stap 2
Om nu extra velden te zien, zoals de GUI, kunnen we de respectieve kolom toevoegen:

 knippen -f 1,4 -d ':' / etc / passwd

Stap 3
In beide gevallen wordt de uitvoer beperkt door de dubbele punt (:), maar het is mogelijk om een ​​ander scheidingsteken toe te wijzen voor zowel de invoer als de uitvoer van de resultaten, bijvoorbeeld als de uitvoer wordt begrensd door een spatie, moeten we het volgende uitvoeren :

 cut -f 1,4 -d ':' --output-delimiter = '' / etc / passwd

Met het cut-commando in Linux is het mogelijk om verschillende activiteiten uit te voeren waarmee we de inhoud van een bestand op een veel praktischere manier kunnen bekijken.

wave wave wave wave wave