Qual é a maneira mais fácil de fazer o cd para o diretório mais profundo em um caminho absoluto para um arquivo?

0

Por exemplo, posso ter o seguinte na minha área de transferência:

/Users/matt/widgets/file.txt

E eu quero mudar de diretório para:

/Users/matt/widgets

cd não funciona:

$ cd /Users/matt/widgets/file.txt
bash: cd: /Users/matt/widgets/file.txt: Not a directory

Que alteração simples (ou seja, fácil de digitar) eu posso fazer para facilitar isso?

    
por Matthew 07.11.2017 / 16:51

3 respostas

2

Se você estiver bem com o carregamento antecipado do esforço para facilitar as execuções subsequentes, você pode criar uma função (nomeie tudo o que fizer sentido para você):

function cdfile { cd -- "$(dirname $1)"; }

Salve essa definição no seu arquivo ~/.bashrc . Então, cada vez que você tem um caminho de arquivo que você queria cd , você poderia

cdfile <paste path>
    
por 07.11.2017 / 17:27
2

Use o nome do dir:

cd "$(dirname /Users/matt/widgets/file.txt)"
    
por 07.11.2017 / 16:53
0

cd $(dirname /Users/matt/widgets/file.txt)

    
por 07.11.2017 / 16:59