Criar arquivo usando curinga no caminho absoluto

1

Estou tentando usar a expressão regular em um caminho absoluto. Por exemplo

mkdir /root/.mozilla/firefox/*.default/test

O nome da pasta que termina com .default é gerado dinamicamente, mas sempre termina com .default. Eu tentei * .default, mas não funciona.

Existe alguma maneira de usar regex em caminhos absolutos?

    
por Arya 02.07.2017 / 23:07

1 resposta

4
mkdir /root/.mozilla/firefox/*.default/test

Isso não corresponderá a nada se o diretório test ainda não existir (assim, mkdir verá um caminho com o asterisco e provavelmente o erro, ou o shell fará outra coisa com o glob com falha, dependendo as configurações.)

Para corresponder a um diretório existente e criar outro dentro, você precisará fazer algo assim:

(cd /root/.mozilla/firefox/*.default/ && mkdir test)

ou

for d in /root/.mozilla/firefox/*.default/ ; do 
    mkdir "$d"/test
done

O primeiro assume que existe apenas um diretório para o glob. Se houver mais, o resultado depende do shell e de sua versão. O segundo deve criar o diretório test em todos os diretórios correspondentes ao glob.

    
por 02.07.2017 / 23:28