Назад | Перейти на главную страницу

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

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

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

$ cd $( ls | grep foo )

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

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

$ cd *foo*

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

$ cd $(ls | grep '*foo*' | head -n1)