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