Slette tegn som matcher et mønster

Fish Shell:
Slette tegn som matcher et mønster

How to:

For å slette tegn i Fish Shell, bruk string replace. Eksempel fjerner alle ‘a’-er fra en streng:

echo "bananarama" | string replace -a "a" ""

Output:

bnnrm

For å slette mønstre, bruk wildcards (stjernetegn):

echo "b123a456xyz789" | string replace -ar "[0-9]" ""

Output:

baxyz

Interaktivt, slett ‘xyz’ fra en variabel:

set myvar "helloxyzworld"
string replace -r "xyz" "" -- $myvar
echo $myvar

Output:

helloworld

Deep Dive

Pattern matching har vært en del av programmering siden tidlige dager. Det er andre måter å gjøre det på i Unix-lignende systemer, som sed eller grep. Men Fish Shell forenkler prosessen med string-kommandoer.

Fish’s string kommandoer ble introdusert for lesbarhet og enkel bruk. Ulik tradisjonell ‘sed’, trenger du ikke å huske komplekse syntakser for vanlige oppgaver.

Implementasjonsdetaljer:

  • string replace er bygd inn i Fish.
  • -a flagget står for “all” - erstatt alle instanser.
  • -r aktiverer regex eller regulære uttrykk for avanserte mønstre.

See Also