Как перенаправить ls в команду cd

Я хочу делать ls | grep something а также cd к одной вещи, которая перечислена. Я пробовал с | и искал, но ничего не нашел. Это с помощью xargs?

2 ответа

Ты можешь сделать

$ cd $( ls | grep foo )

но это сработает только в том случае, если результат относительно того, где вы находитесь в данный момент; за все, что вы захотите find (он будет печатать пути) и очень конкретный grep шаблон.

Если шаблон, который вы хотите сопоставить, может быть выражен как глобус, и вы знаете, что будет только одно совпадение, вы можете позволить своей оболочке выполнить сопоставление:

$ cd *foo*

В противном случае самый простой вариант - ввести команду подстановки, чтобы предоставить параметр cd:

$ cd $(ls | grep '*foo*' | head -n1)
Другие вопросы по тегам