Kuidas eemaldada Bashis stringist viimased n tähemärki

Kuidas Eemaldada Bashis Stringist Viimased N Tahemarki



Bash on populaarne shelliskriptikeel, mida kasutatakse laialdaselt Linuxi- ja Unixi-põhistes operatsioonisüsteemides. Bashi skriptimise üks levinumaid ülesandeid on stringidega manipuleerimine. Mõnikord on vaja eemaldada stringist viimased n tähemärki. Selles artiklis käsitletakse mitut Bashi meetodit stringist viimase n tähemärgi eemaldamiseks.

Kuidas eemaldada Bashis stringist viimased n tähemärki

Bashis saab soovimatute laienditega failinimede korrastamiseks kasutada kasutaja sisendite lõpus olevat tühiku kärpimist või stringist viimase n tähemärgi eemaldamist:

1. meetod: käsu lõikamine

Bashi käsku cut kasutatakse faili igalt realt lõikude eraldamiseks. Seda saab kasutada ka teatud märkide vahemiku eraldamiseks stringist. Viimase n tähemärgi eemaldamiseks stringist saame kasutada käsku cut koos võtmega -c ja siin on süntaks:







kaja 'string' | lõigatud -c -n

Siin on string tegelik string, millest tahame eemaldada viimased n tähemärki, ja n on märkide arv, mida tahame eemaldada. Allpool on näide, mis kasutab ülaltoodud süntaksit:



#!/bin/bash

string = 'Tere Linux'

kaja ' $string ' | lõigatud -c -5

Ülaltoodud näites oleme kasutanud käsku cut, et eemaldada stringist 'Tere Linux' viimased 6 märki ja väljundiks on 'Tere'.



  Graafiline kasutajaliides, tekst Kirjeldus genereeritakse automaatselt





2. meetod: käsu sed kasutamine

Sed on võimas vooredaktor, mida saab kasutada erinevate tekstiteisenduste tegemiseks failis või sisendvoos. Viimase n tähemärgi eemaldamiseks stringist sed abil saame kasutada järgmist käsusüntaksit:

kaja 'string' | aga 's/.\{n\}$//'

Siin on n märkide arv, mille tahame stringi lõpust eemaldada, ja allpool on näide, mis kasutab käsku sed:



#!/bin/bash

string = 'Tere Linux'

kaja ' $string ' | aga 's/.\{6\}$//'

Ülaltoodud näites oleme kasutanud käsku sed, et eemaldada stringist 'Tere Linux' viimased 6 märki ja väljundiks on 'Tere'.

  Graafiline kasutajaliides, tekst Kirjeldus genereeritakse automaatselt

3. meetod: parameetri laiendamise kasutamine

Parameetrite laiendamine on Bashi funktsioon, mis võimaldab meil muuta muutuja väärtust. Viimase n tähemärgi eemaldamiseks stringist parameetrilaienduse abil saame kasutada järgmist süntaksit:

${string::-n}

Siin sisaldab stringi muutuja tegelikku stringi, millest tahame eemaldada viimased n tähemärki, ja n on märkide arv, mida tahame eemaldada.

#!/bin/bash

string = 'Tere Linux'

kaja ${string::-6}

Ülaltoodud näites oleme kasutanud parameetrite laiendamist, et eemaldada stringist 'Tere Linux' viimased 4 märki ja väljundiks on 'Tere'.

  Graafiline kasutajaliides, tekst Kirjeldus genereeritakse automaatselt

Järeldus

Viimase n tähemärgi eemaldamiseks stringist bashis on kolm võimalust cut-käsk, sed-käsk ja parameetrite laiendamine. Neid meetodeid on lihtne kasutada ja need võivad olla abiks mitmesugustes Bashi skriptimisülesannetes. Neid meetodeid kasutades saame Bashis hõlpsasti stringe manipuleerida ja tekstiteisendusi teha.