Fish Shell:
Sökning och ersättning av text
Hur man gör:
I Fish Shell är det smidigt att söka och ersätta text med hjälp av inbyggda funktioner som string
. Här är ett par exempel:
# Sök och ersätt 'gammalt' med 'nytt' i en sträng
echo 'Jag gillar det gammalt sättet' | string replace 'gammalt' 'nytt'
# Utdata: Jag gillar det nytt sättet
# Sök och ersätt tillämpat på varje rad i en fil
string replace 'färg' 'kulör' < gammal.txt > ny.txt
Observera att om du vill ersätta alla förekomster av en text, kan du lägga till flaggan -a
.
# Sök och ersätt alla förekomster av 'äpple' med 'apelsin'
echo 'äpple + äpple = fler äpplen' | string replace -a 'äpple' 'apelsin'
# Utdata: apelsin + apelsin = fler apelsiner
Djupdykning
Att söka och ersätta text i Fish Shell använder funktioner som string replace
, vilket är en del av string
-kommandon introducerade i version 2.3.0. Före det användes externa verktyg som sed
. Alternativ till string
kan inkludera dessa externa verktyg eller andra shell-program, men string
är snabbare och enklare i Fish.
string replace
är byggd för att vara intuitiv och kraftfull. Den stöder reguljära uttryck, hanterar binära data säkert och har utförliga flaggor som -i
(case-insensitive) och -r
(regex).
Se även
- Fish Shell dokumentation om
string
: https://fishshell.com/docs/current/cmds/string.html - Regex tutorial: https://www.regular-expressions.info/
- GNU
sed
manual: https://www.gnu.org/software/sed/manual/sed.html