Поиск исполняемых файлов с помощью ls и grep

Мне нужно написать сценарий, который находит все исполняемые файлы в каталоге. Я попробовал несколько способов реализовать это, и они действительно работают. Но мне интересно, есть ли способ сделать это лучше.

Итак, это был мой первый подход:

ls -Fla | grep \*$

Это работает нормально, потому что флаг -F выполняет всю работу за меня и добавляет к каждому исполняемому файлу звездочку, но, допустим, мне не нравится знак звездочки.

Итак, это был второй подход:

ls -la | grep -E ^-.{2}x 

Это тоже работает нормально, я хочу использовать тире в качестве первого символа, тогда меня не интересуют следующие два символа, а четвертым символом должен быть x.

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

ls -la | grep -E ^-.{2}x\|^-.{5}x\|^-.{8}x

Итак, я проверяю четвертый, седьмой и десятый символы как x.

Теперь мой реальный вопрос: есть ли лучшее решение, используя ls и grep с регулярным выражением, чтобы сказать:

Я хочу использовать grep только для этих файлов, имея хотя бы один x в десяти первых символах строки, созданной ls -la

29
задан codeforester 14 September 2017 в 02:54
поделиться