1

Я пытаюсь получить вывод команды ls и найти в этом списке выражение регулярного выражения ... По сути, он будет искать каждое имя файла в папке для выражения регулярного выражения. Я собрал простой пример того, что я считал правильным способом сделать это, но явно не было:

$ ls ~/Desktop/testFolder | grep -rn "содержимое"

Я знаю, я могу сделать сценарий для этого, где я перенаправлю вывод из 'ls' в текстовый файл, а затем grep это .. но я спрашиваю, как сделать это БЕЗ многоступенчатого процесса или сценария.

3 ответа3

4

Ваша команда должна работать, хотя вам не нужна опция -r в команде grep. Что происходит, когда вы пытаетесь выполнить команду, которая не соответствует ожиданиям?

ls /path | grep string

Вышесказанное работает для меня.

Вы также можете попробовать посмотреть на команду find:

find ~/Desktop/testFolder -iname '*contents*'

Надеюсь, что это помогает и удачи!

2

Ваша единственная ошибка - установка опции -r на grep .

1

Вы хотите: ls ~/Desktop/testFolder/*contents*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .