Usando curingas para corresponder a um diretório no bash

2

Digamos que a estrutura da pasta seja assim:

/home/
--user1/asdf
--user2/asdf1234
--user3/asdf325234
--cool/asdf

Como eu poderia mudar para asdf1234 sem especificar o usuário? Por exemplo:

cd /home/*/asdf1234

Como posso usar "not" no bash? Por exemplo, digamos que eu queira ir para /home/cool , mas não use capacidade:

cd /home/!user*/asdf é possível?

Esses truques são possíveis?

    
por user1529891 19.10.2012 / 23:04

2 respostas

7

Ative a opção extglob shell e, em seguida, cd /home/!(user*)/asdf

    
por 19.10.2012 / 23:23
0

Você pode usar o seguinte comando para mudar para o diretório asdf1234 sem especificar o nome de usuário:

cd $(find . -name asdf1234 -type d | sed 1q)

sed 1q garante que apenas um nome de diretório seja passado como argumento para cd .

    
por 19.10.2012 / 23:23