Bash:
Ta bort tecken som matchar ett mönster
Hur gör man?:
# Ta bort alla siffror från en sträng
echo "Hemligheten är 42" | tr -d '0-9'
# Utmatning: Hemligheten är
# Ta bort specifika tecken
echo "B[a]sh är k[u]l!" | tr -d '[]'
# Utmatning: Bash är kul!
# Ta bort allt utom bokstäver och siffror
echo "Rader@123!#%&" | tr -cd '[:alnum:]'
# Utmatning: Rader123
Deep Dive
Bash använder verktyg som tr
, grep
och sed
för att hantera textsträngar. Till exempel kommandot tr
har använts sedan Unix skapades på 1970-talet. Alternativ till tr
inkluderar inbyggda Bash-funktioner och externa program som awk
. När det kommer till implementation, använder tr
en enkel matchning medan sed
erbjuder mer komplexa mönstervillkor och redigering.
Se även
- GNU Coreutils: https://www.gnu.org/software/coreutils/manual/coreutils.html
- Advanced Bash-Scripting Guide: https://tldp.org/LDP/abs/html/
- Regular Expressions Info: https://www.regular-expressions.info/