Как перенаправить ls в команду cd
Я хочу делать ls | grep something
а также cd
к одной вещи, которая перечислена. Я пробовал с |
и искал, но ничего не нашел. Это с помощью xargs
?
2 ответа
Ты можешь сделать
$ cd $( ls | grep foo )
но это сработает только в том случае, если результат относительно того, где вы находитесь в данный момент; за все, что вы захотите find
(он будет печатать пути) и очень конкретный grep
шаблон.
Если шаблон, который вы хотите сопоставить, может быть выражен как глобус, и вы знаете, что будет только одно совпадение, вы можете позволить своей оболочке выполнить сопоставление:
$ cd *foo*
В противном случае самый простой вариант - ввести команду подстановки, чтобы предоставить параметр cd
:
$ cd $(ls | grep '*foo*' | head -n1)