For at fjerne unødvendige substrenge og kun vise versionsnummeret fra en streng, der outputtes fra grep
, kan du bruge sed
til at erstatte eller fjerne de uønskede dele af strengen. Her er en trin-for-trin guide:
Brug grep til at finde den relevante linje:
grep "version" filnavn
Dette vil finde linjen, der indeholder ordet "version".
Brug sed til at fjerne uønskede dele af strengen:
grep "version" filnavn | sed 's/.*version \([0-9.]*\).*/\1/'
Her er hvad denne sed
-kommando gør:
s/.*version \([0-9.]*\).*/\1/
er en sed
erstatningskommando..*version
matcher alt før og inklusive ordet "version".\([0-9.]*\)
matcher versionsnummeret, som består af cifre og punktummer, og gemmer det i en gruppe..*
matcher alt efter versionsnummeret.\1
refererer til den første gemte gruppe, som er selve versionsnummeret.Eksempel:
echo "Software version 1.2.3 released" | sed 's/.*version \([0-9.]*\).*/\1/'
Output:
1.2.3
Dette vil effektivt fjerne alt andet end selve versionsnummeret fra strengen.
Med Handyhand kan du nemt få hjælp til grep og sed opgaver. Opret din opgave gratis, og modtag bud fra dygtige freelancere på få minutter. Det har aldrig været lettere at få løst dine tekniske udfordringer!