Fish Shell:
Säännöllisten lausekkeiden käyttö
Miten:
Vaikka Fish Shellissä ei ole sisäänrakennettua komentoa regexille, se käyttää tehokkaasti ulkoisia komentoja kuten grep, sed ja awk, jotka tukevat regexiä, sallien sinun sisällyttää regex-operaatioita skripteihisi.
Peruskuvioiden Vastaavuus grep-käytössä
Etsi tiedostosta rivejä, jotka vastaavat mallia:
grep '^[0-9]+' myfile.txtTämä komento etsii myfile.txt-tiedostosta rivejä, jotka alkavat yhdellä tai useammalla numerolla.
Uuttaminen & Korvaaminen sed-käytössä
Uuta puhelinnumerot tiedostosta:
sed -n '/\([0-9]\{3\}\)-\([0-9]\{3\}\)-\([0-9]\{4\}\)/p' contacts.txtKorvaa kaikki “foo”-esiintymät “bar”-sanalla data.txt-tiedostossa:
sed 's/foo/bar/g' data.txtKäyttäen string-komentoa Perus Regexille
Vastaa mallia merkkijonossa:
echo "fish 3.1.2" | string match -r '3\.[0-9]+\.[0-9]+'Tuloste:
3.1.2Korvaa numerot ‘fish’-sanan jälkeen ‘X.X.X’:lla:
echo "Welcome to fish 3.1.2" | string replace -ra '([fish]+\s)[0-9\.]+' '$1X.X.X'Tuloste:
Welcome to fish X.X.XKehittynyt Vastaavuus awk-käytössä
Tulosta toinen sarake tiedoista, missä ensimmäinen sarake vastaa tiettyä mallia:
awk '$1 ~ /^a[0-9]+$/ {print $2}' datafileTämä komento etsii datafile-tiedostosta rivejä, joissa ensimmäinen sarake alkaa “a”:lla seurattuna yhdellä tai useammalla numerolla, ja tulostaa toisen sarakkeen.
Integroimalla nämä ulkoiset komennot, Fish Shellin ohjelmoijat voivat hyödyntää täysin säännöllisten lausekkeiden tehoa monimutkaisten tekstimanipulaatiotehtävien suorittamiseen, parantaen shellin natiiveja kykyjä.