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
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.