(Tarde para a festa :)). Tantas maneiras de esfolar esse gato ... Aqui estão algumas:
Aqui, recebo os dígitos entre / :
com cut :
cut -d/ -f3
com grep :
grep -Po '/\K\d+(?=/)'
com perl :
perl -F/ -lane 'print $F[2]'
com python :
python3 -c 'import sys; i=sys.stdin.read().split("/"); print(i[2])'
Outro sed :
sed -E 's#.*/([0-9]+)/.*##'
Outro awk (embora a resposta awk já fornecida ao obter o terceiro campo delimitado por / seja o caminho a seguir):
awk '{i=gensub(".*/([0-9]+)/.*", "\1", "g"); print i}'
com go :
package main
import (
"fmt"
"strings"
)
func main() {
str := "cap/media/101/101.mp4"
fmt.Println(strings.Split(str, "/")[2])
}
Exemplo:
% cut -d/ -f3 <<<'cap/media/101/101.mp4'
101
% grep -Po '/\K\d+(?=/)' <<<'cap/media/101/101.mp4'
101
% perl -F/ -lane 'print $F[2]' <<<'cap/media/101/101.mp4'
101
% python3 -c 'import sys; i=sys.stdin.read().split("/"); print(i[2])' <<<'cap/media/101/101.mp4'
101
% sed -E 's#.*/([0-9]+)/.*##' <<<'cap/media/101/101.mp4'
101
% awk '{i=gensub(".*/([0-9]+)/.*", "\1", "g"); print i}' <<<'cap/media/101/101.mp4'
101
## Go Playground: https://play.golang.org/p/kGdzyywEB2