Gå til innhold

Trenger litt hjelp med sed (String Editor)


Anbefalte innlegg

Jeg lurer paa om det er noen som kan hjelpe meg med litt bash scripting.

 

Jeg har en variable som inneholder filnavn dott etterllerannet. (feks index.html)

 

Det jeg proever aa gjoere er aa fjerne det som staar foer punktum og lagre fil extension paa den filen i en annen variabel.

 

I dette eksempelet vil da html bli lagret i den andre variablen..

Noen som vet hvordan dette enkelt kan gjoeres med feks sed?

Lenke til kommentar
Videoannonse
Annonse

Følgende sed-kommando


echo "index.html" | sed "s/.*.//g"

burde gjøre susen. Punktum er et spesialtegn i sed, det betyr "match anything", så du må ha "" foran om det skal tolkes som bokstaven punktum. Sed Kommandoen betyr roughly:

finn alle tekststrenger som matcher et vilkårlig antall tegn (.*)

etterfulgt av punktum (.),

og erstatt disse tekststrengene med ingenting (//).

"g"-en etterpå betyr at du skal gjøre dette for alle treff i uttrykket. Slik burde det bare bli extension igjen...

 

For å lagre i variabel:


extension =$(echo "$filnavn" | sed "s/.*.//g")

Der $filnavn er variabelen med filnavnet...

Lenke til kommentar
Konge.. Takker for den..  

 

Har du tid og forklare meg hvordan jeg kan ta vekk ekstension og bare sitte igjen med filnavnet ogsaa :) ?

 

bytt ut


sed "s/.*.//g"

med


sed "s/..*//g"

sed virker kanskje litt kryptisk, men det er konge når du har lært deg grunntrinna....

Lenke til kommentar

Maa bare faa takke deg engang til for at du tok deg tid til aa hjelpe.

 

Sitter her og scripter litt i bash for aa friske opp litt fra gamle dager, ser mer og mer hvor utrololig mye man kan faa gjort paa en halv side med code.

Ting som jeg ville ha brukt flere dager og mange sider med java kode for aa faa til klarer man aa presse ned paa en halv side med bash script.

 

 

sed er noe jeg ikke helt behersker skikkelig enda, men det er noe jeg proever aa leare.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...