LINUX.ORG.RU
ФорумAdmin

ls, опция ignore


0

0

Привет!

Почему-то в команде ls не работает опция --ignore.
Red Hat 7.3
Домашние каталоги юзеров, среди них - public
Команда

ls -d p*

выдает на экран имена всех каталогов на букву p.

ls -d p* --ignore=public

должна вывести все те же имена, кроме public.
Но она выводит то же самое, что и без опции ignore.

В чем грабли? Где я ошибаюсь?

С уважением,
dk2705

Если не использовать globbing то проигнорирует: ls -d --ignore=public выведет все, кроме public

anonymous
()
Ответ на: комментарий от anonymous

P.S. У Вас p* разворачивается в список файлов/директорий и public оказывается введен с командной строки. Файлы явно указанные в стороке ls не игнорирует

anonymous
()
Ответ на: комментарий от anonymous

Команда ls -d --ignore=public вообще ничего не выводит.

dk2705
() автор топика
Ответ на: комментарий от anonymous

Тогда возникает вопрос: как проще всего командой ls вывести
все каталоги на p, кроме public?

Я придумал вот такую команду:

ls -d {p[^u]*,pu[^b]*,pub[^l]*,publ[^i]*,publi[^c]*,public?*}

Работает правильно, но выглядит страшно.
Неужели для этой задачи опция --ignore неприменима?

dk2705
() автор топика
Ответ на: комментарий от spirit

Спасибо, всё получилось! grep - это то, что нужно.

dk2705
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.