Disse kommandoene er kraftige og allsidige og kan brukes til å trekke ut spesifikke deler av en streng basert på forskjellige avgrensere som mellomrom, komma og semikoloner. Denne artikkelen vil utforske hvordan du kan trekke ut deler av en streng ved hjelp av bash/kutt/delte kommandoer og gi praktiske eksempler for å hjelpe deg med å forstå hvordan du bruker dem effektivt.
Kuttkommandoen
Cut -kommandoen brukes til å trekke ut seksjoner fra hver linje i en fil eller streng. Det er en enkel og kraftig kommando som kan hente ut felt basert på en avgrenser eller en spesifikk karakter. Syntaksen for CUT -kommandoen er som følger:
cut -d [avgrensning] -f [felt] [filnavn]
Her spesifiserer alternativet -d -alternativet avgrenseren som brukes i inndatafilen, og alternativet -f -alternativet spesifiserer feltet (e) som skal trekkes ut. Filnavnsargumentet er inndatafilen som skal behandles. Anta for eksempel at vi har en fil som heter TestFile.txt, med følgende innhold:
BMW, M5
Lexus, LS470
Volvo, x70
Hvis vi ønsker å trekke ut det andre feltet fra hver linje, kan vi bruke følgende skallskript:
#!/bin/bash
Cat testfile.tekst
ekko "Her er den ekstraherte delen:"
kutt -d ',' -f 2 testfile.tekst
Nedenfor er utgangen fra den ovennevnte koden som viser filen og dens ekstraherte del:
Den delte kommandoen
Split -kommandoen brukes til å dele en streng i en rekke underlag basert på en avgrenser. Det er en innebygd kommando i bash som kan brukes til å trekke ut en del av en streng. Syntaksen for den delte kommandoen er som følger:
IFS = [avgrensning] Read -RA [Array_Name] <<< "$[string]"
Her spesifiserer IFS -variabelen avgrenseren som brukes i strengen, lesekommandoen leser inngangen og deler den inn i en matrise, og <<< operator is used to pass the string as input.
Anta for eksempel at vi har en streng som heter “BMW, M5”. Hvis vi ønsker å trekke ut det andre feltet, kan vi bruke følgende bashskript:
#!/bin/bash
Cat testfile.tekst
ekko "Her er den ekstraherte delen:"
Ifs = ',' Les -ra felt <<< "BMW,M5"
ekko $ felt [1]
Bash Split -kommandoen kan også brukes til å trekke ut flere felt fra en streng ved å bruke flere variabler i lesekommandoen.
Konklusjon
Bash gir flere metoder for å trekke ut en del av en streng, inkludert kutt- og delte kommandoer. Cut -kommandoen kan brukes til å trekke ut felt basert på en avgrenser eller et spesifikt tegn, mens den delte kommandoen kan brukes til å dele en streng i en rekke underlag basert på en avgrensning. Å forstå hvordan man trekker ut en del av en streng er en viktig ferdighet for alle som jobber med bash -skript.