Como redirecionar ls para o comando cd

2

Eu quero fazer ls | grep something e cd para a única coisa listada. Eu tentei com | e procurei, mas nada foi encontrado. Está usando xargs ?

    
por Vaska 25.07.2012 / 05:19

2 respostas

4

Você pode fazer

$ cd $( ls | grep foo )

mas isso só funcionará se o resultado for relativo ao local em que você está; para qualquer coisa mais você vai querer find (ele irá imprimir caminhos) e um padrão grep muito específico.

    
por 25.07.2012 / 05:59
1

Se o padrão que você deseja corresponder puder ser expresso como glob, e você sabe que haverá apenas uma correspondência, você poderá permitir que a sua shell faça a correspondência:

$ cd *foo*

Caso contrário, a opção mais fácil é comandar a substituição para fornecer o parâmetro para cd :

$ cd $(ls | grep '*foo*' | head -n1)
    
por 25.07.2012 / 08:08

Tags