Ta bort tecken som matchar ett mönster

Fish Shell:
Ta bort tecken som matchar ett mönster

Så här gör du:

Med Fish Shell kan du använda string kommandot för att hantera textsträngar. Här är några exempel:

# Ta bort alla punkter från en sträng
echo "F.i.s.h. .S.h.e.l.l." | string replace -a "." ""

Output:

Fish Shell
# Ta bort allt efter ett "@"-tecken i en e-postadress
echo "[email protected]" | string match -r ".*(?=@)"

Output:

example
# Använd en wildcard (*) för att ta bort alla bokstäver 'a'
echo "Banana Bandana" | string replace -a "a" ""

Output:

Bnn Bndn

Fördjupning

Att ta bort tecken baserat på mönster är inte nytt. Traditionella unix-verktyg som sed och awk har hanterat textbearbetning länge. Fish Shell erbjuder string kommandot som en kraftfull och användarvänlig inbyggd funktion för strängmanipulation. Det underlättar vanliga uppgifter som att söka och ersätta text utan att behöva pipa genom flera verktyg.

string kommandot är en del av Fish sedan version 2.3.0 och stöder reguljära uttryck, vilket ger det flexibilitet att hantera komplexa matchningsmönster. Det är inte bara snabbare än att kalla externa verktyg för varje operation, det är också integrerat direkt i shellet, vilket ger en bättre användarupplevelse.

När det gäller alternativ, kan du också använda externa program som sed eller perl om du behöver kraftigare textbearbetningsmöjligheter, särskilt för komplexa ersättningslogiker eller för att hantera enorma databaser.

Se även