Use -regex . O padrão é ancorado no início e no final, portanto, você precisará usar .* no início e no final, provavelmente. Use [^/]*/ para substituir um glob * que não corresponde a / . Por exemplo:
-regex '.*/sr[^/]*sc.*'
Existe um pequeno script Perl find2perl que pretende converter os argumentos para um comando find em um script Perl equivalente. Obviamente, ele terá o mesmo padrão de correspondência para -path como find , mas você pode editá-lo para aceitar outro argumento, digamos -glob , que usaria a chamada de sistema fnmatch() para fazer o tipo de globbing quer. Fiz uma modificação rápida na minha versão de find2perl , conforme mostrado neste patch:
--- /usr/bin/find2perl 2016-02-04 19:28:48.000000000 +0100
+++ /tmp/find2perl 2018-07-31 20:38:10.034175198 +0200
@@ -58,2 +58,4 @@
$out .= tab . '$File::Find::name =~ /' . fileglob_to_re(shift) . "/s$1";
+ } elsif (/^glob$/) {
+ $out .= tab . 'fnmatch("'.(shift).'", $name, FNM_PATHNAME|FNM_PERIOD)';
} elsif ($_ eq 'perm') {
@@ -236,2 +238,3 @@
use File::Find ();
+use File::FnMatch qw(:fnmatch); # import everything
(As linhas que começam com + mostram as 3 linhas que adicionei). Eu precisava adicionar pacotes perl-App-find2perl e perl-File-FnMatch para o Fedora. Você precisaria encontrar o equivalente em seu sistema.
Você pode então executar comandos como
/tmp/find2perl . -glob './sr*sc' | perl