No terminal do Mac, como faço para “encontrar” um arquivo e, em seguida, rapidamente cd para o diretório pai?

3

Eu quero abrir o terminal, encontrar um arquivo ou pasta e navegar rapidamente para essa pasta ou o diretório pai do arquivo.

Eu posso rapidamente pegar o caminho usando

find ~ -name 'filename.txt' 

mas não consigo descobrir como copiar o resultado do caminho para o comando "cd"

Existe uma maneira de dizer basicamente "cd [caminho do comando find]" ou "abrir [caminho do comando find]"

Estou apenas usando o terminal padrão no OSX Mountain Lion

    
por Jeff Widman 18.06.2013 / 07:34

3 respostas

3

Que tal:

cd $(find -name "filename.txt" -type f -exec dirname {} \; | sed 1q)
    
por 18.06.2013 / 07:43
0

Assim:

$ cd 'find ~ -name filename.txt -exec dirname {} \;'
    
por 18.06.2013 / 07:43
0

Se você adicionou isto a ~/.inputrc para fazer \eo executar novamente o comando anterior e inserir sua saída:

"\eo": "$(!!)\e\C-e"

Ou, se você usar o bash 4.0 ou posterior, poderá ativar globstar e pressionar \eg para expandir padrões como este:

cd **/filename.txt

Você pode excluir a parte do nome do arquivo nos dois casos com a opção delete.

    
por 18.06.2013 / 22:36