Uittreksel substring in Bash
Gegeven een bestandsnaam in de vorm someletters_12345_moreleters.ext
, wil ik de 5 cijfers extraheren en in een variabele stoppen.
Dus om het punt te benadrukken, ik heb een bestandsnaam met x aantal karakters, dan een reeks van vijf cijfers omgeven door een enkele underscore aan elke kant en dan nog een reeks van x aantal karakters. Ik wil het 5 cijferige nummer nemen en dat in een variabele stoppen.
Ik ben zeer geïnteresseerd in het aantal verschillende manieren waarop dit kan worden bereikt.
680
3
Gebruik cut:
Meer algemeen:
Generieke oplossing waarbij het nummer overal in de bestandsnaam kan staan, met gebruik van de eerste van zulke reeksen:
Een andere oplossing om precies een deel van een variabele te extraheren:
Als je bestandsnaam altijd het formaat
stuff_digits_...
heeft, kun je awk gebruiken:Nog een andere oplossing om alles te verwijderen behalve de cijfers, gebruik
Er is ook het bash builtin 'expr' commando: