2012-07-25 8 views
6

Quiero encontrar un directorio usando grep y luego cambiar el directorio actual al directorio resultante. Por ejemplo:Cómo "cd" a un directorio después de "grep"?

$ ls | grep 1670 | 

me encuentra haib12CJS1670 directorio. Estoy tratando de hacer algo, como a continuación:

$ ls | grep 1670 | cd 

para que mi directorio se establece en haib12CJS1670 en un solo paso. Obviamente mi camino no está funcionando. ¿Alguna sugerencia? Gracias

+4

¿Tiene una buena razón para estar usando 'grep' en lugar de comodines (es decir,' cd * 1670 * '?) – geoffspear

+0

que es ideal comentario para yo, ya que ni siquiera sabía que podía hacer eso. – Supertech

Respuesta

8
cd `ls | grep 1670` 

debe obtener su cd para trabajar (nota, esas son "copias de garrapatas")

Un enfoque alternativo (algunos dirían que se prefiere) sería utilizar la sustitución $. Por ejemplo,

cd $(ls | grep 1670) 

aunque no puedo conseguir que esto funcione con el tcsh, que funciona bien con bash.

La primera solución es cáscara agnóstica :)

+0

Wow, eres * un rayo * Levon. ¡Gracias! – Supertech

Cuestiones relacionadas