Fish Shell:
Zoeken en vervangen van tekst
Hoe te:
Laten we alle instanties van ‘kat’ naar ‘hond’ veranderen in een string.
echo "Een kat, twee katten, drie katten." | string vervang -a 'kat' 'hond'
Voorbeelduitvoer:
Een hond, twee honden, drie honden.
Tekst in een bestand genaamd pets.txt
vervangen:
string vervang -a 'kat' 'hond' < pets.txt > updated_pets.txt
Variabelen gebruiken voor patronen:
set oud "kat"
set nieuw "hond"
string vervang -a $oud $nieuw < pets.txt > updated_pets.txt
Diepere duik
Zoeken en vervangen bestaat al sinds de vroege dagen in teksteditors. Denk aan sed
voor streambewerking in Unix — dat is ouderwets cool. Fish neemt dit verder en maakt het eenvoudiger met het string
commando. Geen regex-hoofdpijn meer, tenzij je dat wilt. Alternatieven? Zeker: sed
, awk
, Perl-scripts, zelfs vim
-macro’s. Maar het string
commando van Fish is elegant en minder foutgevoelig voor de gangbare gevallen.
Zie ook:
- Officiële documentatie van Fish Shell over het
string
commando: fishshell.com/docs/current/cmds/string.html - Sed by Example, Deel 1: https://www.gnu.org/software/sed/manual/sed.html
- AWK Language Programming — Stringfuncties: https://www.gnu.org/software/gawk/manual/gawk.html#String-Functions